文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Python应用:计时器"时:分:秒"字符串与秒数相互转换

Python应用:计时器"时:分:秒"字符串与秒数相互转换

时间:2007-03-31  来源:wibrst

    在调整字幕时间时发现不是等间隔时间偏移,而是间隔呈线性增加。真不知这帮做字幕的人怎么搞的,不会是播放器计算时间偏移差错吧?
   
    不管他了,如果要修改字幕时间,首先要有一对方便地进行"HH:MM:SS"格式跟计时器秒数相互转换的函数。于是就写了一个模块:


# timeItv.py
# encoding:gb2312

import sys,re

# 将计时器"时:分:秒"字符串转换为秒数间隔
def time2itv(sTime):

p="^([0-9]+):([0-5][0-9]):([0-5][0-9])$"
cp=re.compile(p)
try:
mTime=cp.match(sTime)
except TypeError:
return "[InModuleError]:time2itv(sTime) invalid argument type"

if mTime:
t=map(int,mTime.group(1,2,3))
return 3600*t[0]+60*t[1]+t[2]
else:
return "[InModuleError]:time2itv(sTime) invalid argument value"

# 将秒数间隔转换为计时器"时:分:秒"字符串
def itv2time(iItv):

if type(iItv)==type(1):
h=iItv/3600
sUp_h=iItv-3600*h
m=sUp_h/60
sUp_m=sUp_h-60*m
s=sUp_m
return ":".join(map(str,(h,m,s)))
else:
return "[InModuleError]:itv2time(iItv) invalid argument type"

if __name__=="__main__":
# 仅供测试
sTime="1223:34:15"
itv=time2itv(sTime)
print itv # 4404855
print itv2time(itv) # 1223:34:15

# 不合约定的参数
print time2itv("12:34:95")
print time2itv("sfa123")
print time2itv(itv)

print itv2time("451223")
print itv2time(sTime)


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载