1.简介
在编写代码时,往往涉及时间、日期、时间戳的相互转换。
2.示例
1
2
|
# 引入模块
import time, datetime
|
2.1 str类型的日期转换为时间戳
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# 字符类型的时间
tss1 = '2013-10-10 23:40:00'
# 转为时间数组
timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S" )
print timeArray
# timeArray可以调用tm_year等
print timeArray.tm_year # 2013
# 转为时间戳
timeStamp = int (time.mktime(timeArray))
print timeStamp # 1381419600
# 结果如下
time.struct_time(tm_year = 2013 , tm_mon = 10 , tm_mday = 10 , tm_hour = 23 , tm_min = 40 , tm_sec = 0 , tm_wday = 3 , tm_yday = 283 , tm_isdst = - 1 )
2013
1381419600
|
2.2 更改str类型日期的显示格式
1
2
3
4
5
6
7
8
9
10
11
|
tss2 = "2013-10-10 23:40:00"
# 转为数组
timeArray = time.strptime(tss2, "%Y-%m-%d %H:%M:%S" )
# 转为其它显示格式
otherStyleTime = time.strftime( "%Y/%m/%d %H:%M:%S" , timeArray)
print otherStyleTime # 2013/10/10 23:40:00
tss3 = "2013/10/10 23:40:00"
timeArray = time.strptime(tss3, "%Y/%m/%d %H:%M:%S" )
otherStyleTime = time.strftime( "%Y-%m-%d %H:%M:%S" , timeArray)
print otherStyleTime # 2013-10-10 23:40:00
|
2.3 时间戳转换为指定格式的日期
1
2
3
4
5
6
7
8
9
10
|
# 使用time
timeStamp = 1381419600
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime( "%Y--%m--%d %H:%M:%S" , timeArray)
print otherStyleTime # 2013--10--10 23:40:00
# 使用datetime
timeStamp = 1381419600
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime( "%Y--%m--%d %H:%M:%S" )
print otherStyleTime # 2013--10--10 15:40:00
|
2.4 获取当前时间并且用指定格式显示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# time获取当前时间戳
now = int (time.time()) # 1533952277
timeArray = time.localtime(now)
print timeArray
otherStyleTime = time.strftime( "%Y--%m--%d %H:%M:%S" , timeArray)
print otherStyleTime
# 结果如下
time.struct_time(tm_year = 2018 , tm_mon = 8 , tm_mday = 11 , tm_hour = 9 , tm_min = 51 , tm_sec = 17 , tm_wday = 5 , tm_yday = 223 , tm_isdst = 0 )
2018 - - 08 - - 11 09 : 51 : 17
# datetime获取当前时间,数组格式
now = datetime.datetime.now()
print now
otherStyleTime = now.strftime( "%Y--%m--%d %H:%M:%S" )
print otherStyleTime
# 结果如下:
2018 - 08 - 11 09 : 51 : 17.362986
2018 - - 08 - - 11 09 : 51 : 17
|
通过datetime.datetime.strptime(date_string, format)将原字符串进行时间格式匹配,并赋值给time_format,然后time_format调用strftime(format)函数,输出自己想要的格式
python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(0000-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 当前时区的名称
%% %号本身
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/jfl-xx/p/8024596.html