整理:Python 时间及时间戳

Python 有两个时间模块,一个是time,另一个是datetime,这里总结一下,以便大家理解

获取当前时间

time.localtime()
time.gmtime()    #UTC时间
datetime.datetime.now()

datetime转为兼容time的格式

datetime.datetime.now().timetuple()  #返回对象可以由time.localtime()引用

获取时间戳

#获取带毫秒的时间戳
time.time() 
datetime.datetime.now().timestamp()

#获取13位的时间戳,datetime同样也这样处理
int(round(time.time() * 1000))  

时间戳转时间

time.localtime(1479358825.9046195)  #带毫秒的时间戳
time.localtime(1479358825) #不带毫秒的时间戳
time.localtime()  #可以不带参数获取当前的时间

时间转字符串

time.strftime('%Y-%m-%d %H:%M:%S')  #转换当前时间为字符串
time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())  #转换指定时间为字符串
datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')  #转换当前时间为字符串
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f") #转换指定时间为字符串

字符串转时间

time.strptime('2012-03-12 04:56:01','%Y-%m-%d %H:%M:%S')
datetime.datetime.strptime('2012-03-12 04:56:01', "%Y-%m-%d %H:%M:%S")
datetime.datetime.strptime('2016-11-17 13:21:41.813597', "%Y-%m-%d %H:%M:%S.%f")

数组-->秒级时间戳-->time时间

t = (2009, 2, 17, 17, 3, 38, 1, 48, 0)
tt = time.mktime(t)
time.gmtime(tt)

日期时间格式化符号:

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

1

热门评论