智一面的面试题提供python的测试题
使用地址:http://www.gtalent.cn/exam/interview?token=10737428be8e0c037c28caaeb8038b69

在写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模块

1
2
3
4
5
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模块

1
2
3
4
5
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更偏底层。


我们的python技术交流群:941108876
智一面的面试题提供python的测试题
使用地址:http://www.gtalent.cn/exam/interview?token=10737428be8e0c037c28caaeb8038b69