在写Python的时候经常会遇到时间格式的问题,首先就是最近用到的时间戳(timestamp)和时间字符串之间的转换。所谓时间戳,就是从 1970年1月1日 00:00:00 到现在的秒数。原来我也写过关于python3里面如何进行时间转换。
在Python里,时间戳可以通过 time 模块里的 time() 方法获得,比如:
1 2 3 |
import time timestamp = time.time() print(timestamp) |
输出结果:
1 |
1551077515.952753 |
这个数可以这么理解, 小数点前面的是从1970年1月1日 00:00:00 到现在的秒数, 小数点后面是微秒的计数。
这个时间戳不容易记忆和理解, 所以我们希望把它转换成人容易理解的时间格式,时间戳转换为指定格式的日期,常用到的模块是time和datetime。
方法1:使用time模块
import time timeStamp = 1551077515 timeArray = time.localtime(timeStamp) formatTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray) print (formatTime)
结果:
1 |
2019-02-25 14:51:55 |
方法2:使用datetime模块
import datetime timeStamp = 1551077515 timeArray = datetime.datetime.utcfromtimestamp(timeStamp) formatTime = timeArray.strftime("%Y-%m-%d %H:%M:%S") print (formatTime)
结果:
1 |
2019-02-25 14:51:55 |
得到的结果是完全一样的, 这里time和datetime都可以把时间戳转换为指定时间格式, 但是他们俩还是有区别的, 总体来讲time比datetime更偏底层,我专门写过一篇文章来介绍time和datetime的区别和联系。