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 }