time模块是python的标准模块,提供了丰富的处理时间和日期的方法,例如time.time()方法返回当前的时间,单位精确到毫秒,time.strftime()可以返回格式化后便于人们理解的时间字符串。
import time
curr_time = time.time()
print(curr_time)
程序输出结果
1573637499.535866
这个时间你肯定不认识,这个叫时间戳,是从1970年1月1日午夜开始到现在所经过的时间,精确到了毫秒,但实际使用时,通常只用秒数。
使用在线时间转换网站 https://tool.lu/timestamp/ 可以对这个时间进行转换
前面讲的time()方法虽然可以获取当前时间,但是返回的结果对我们来说不友好,肯本看不出是哪年哪月,使用localtime方法,可以获取可以直接观察的日期信息
import time
localtime = time.localtime(time.time())
print("当前时间是 :", localtime)
程序输出结果
当前时间是 : time.struct_time(tm_year=2019, tm_mon=11, tm_mday=13, tm_hour=17, tm_min=39,
tm_sec=5, tm_wday=2, tm_yday=317, tm_isdst=0)
你想准确的获取年月日,则可以这样来操作
import time
localtime = time.localtime(time.time())
print('年', localtime.tm_year)
print('月', localtime.tm_mon)
print('日', localtime.tm_mday)
程序输出结果
年 2019
月 11
日 13
虽然时间元组的形式已经相比time()方法直观了很多,但是仍然达不到我们想要的效果,我们平时用得较多的时间是这样的
2019-11-13 17:43:11
实现这种时间格式并不难
import time
localtime = time.localtime(time.time())
localtime = time.strftime("%Y-%m-%d %H:%M:%S", localtime)
print(localtime)
使用time模块的strftime方法,就可以将时间转换为指定的格式,这种格式使我们中国人喜欢用的,下面是外国人喜欢用的时间格式转换方法
import time
localtime = time.localtime(time.time())
# 格式化成Wed Nov 13 17:45:58 2019形式
print(time.strftime("%a %b %d %H:%M:%S %Y", localtime))
strftime方法返回的是字符串,能将时间戳转换成字符串,也一定能够从字符串转换成时间戳
import time
a = '2019-11-13 17:43:11'
a = time.mktime(time.strptime(a,"%Y-%m-%d %H:%M:%S"))
print(a)
程序输出结果为1573638191.0
你应该已经注意到了,不论是从时间戳到字符串,还是字符串到时间戳,在日期转换过程中,都用到了类似"%Y-%m-%d %H:%M:%S" 这种的字符串,他们规定了以什么样的方式进行转换
工作中使用最频繁的,当属 "%Y-%m-%d %H:%M:%S"
QQ交流群: 211426309