python时间时分秒与秒数的互相转换

Life is short, you need Python - Bruce Eckel
Package Index, Python 3.5.3 documentation
头像
灵台方寸山
出类拔萃
出类拔萃
帖子: 79
注册时间: 2016年08月06日 16:40
拥有现金: 锁定
储蓄: 锁定
来自: [color=red]斜月三星洞[/color]
Has thanked: 24 times
Been thanked: 17 times

python时间时分秒与秒数的互相转换

帖子 #1 灵台方寸山 » 2016年12月11日 08:20

受到Unix时间戳的启发,我发现时间转成秒数后会非常好处理,在程序当中不再是以字符串的形式处理,不管时间的加减还是获取随机的时间点都变得非常方便,
如果有需要,也很容易转换成需要的时间格式。

#### 一:时间转成秒数
```

代码: 全选

st = "08:30:30"
et = "9:33:33"

#方法一
def t2s(t):
    h,m,s = t.strip().split(":")
    return int(h) * 3600 + int(m) * 60 + int(s)

print(t2s(st))

#方法二
import datetime
var = ("hours","minutes","seconds")
time2sec = lambda x:int(datetime.timedelta(**{k:int(v) for k,v in zip(var,x.strip().split(":"))}).total_seconds())

print(time2sec(st))

```
stackoverflow.com上还有更多的写法,有兴趣可以自己去看。当然方法一最简单明了,直接用这样的方法是最好的。

http://stackoverflow.com/questions/1066 ... -in-python
http://stackoverflow.com/questions/6402 ... -in-python

#### 二:秒数转成时分秒:
下面的方法是从stackoverflow上抄过来的。
http://stackoverflow.com/questions/7750 ... nds-to-hms
```

代码: 全选

m, s = divmod(seconds, 60)
h, m = divmod(m, 60)
print ("%02d:%02d:%02d" % (h, m, s))

```
下篇再写转成时间转成秒数后能用来干嘛。
2016-12-10 0:21:56 codegay
:crazylaugh3 :oh_no
少发点科普,对中医产业,骗子产业不好。

回到 “Python”

在线用户

用户浏览此论坛: 没有注册用户 和 1 访客