github.com/cellofellow/gopkg@v0.0.0-20140722061823-eec0544a62ad/video/subtitle/srt/utils.go (about)

     1  // Copyright 2014 <chaishushan{AT}gmail.com>. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package srt
     6  
     7  import (
     8  	"strconv"
     9  	"time"
    10  )
    11  
    12  // 00:00:15,000 --> 00:00:18,000
    13  func parseDuration(s string) (time.Duration, error) {
    14  	v0, err := strconv.Atoi(s[0:2])
    15  	v1, err := strconv.Atoi(s[3:5])
    16  	v2, err := strconv.Atoi(s[6:8])
    17  	v3, err := strconv.Atoi(s[9:12])
    18  	if err != nil {
    19  		return 0, err
    20  	}
    21  	d := time.Duration(v0)*time.Hour +
    22  		time.Duration(v1)*time.Minute +
    23  		time.Duration(v2)*time.Second +
    24  		time.Duration(v3)*time.Millisecond
    25  	return d, nil
    26  }
    27  
    28  func makeDuration(hour, minute, sec, msec time.Duration) time.Duration {
    29  	return hour*time.Hour + minute*time.Minute + sec*time.Second + msec*time.Millisecond
    30  }