博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

python3 时间格式的转换

使用的time 标准库

世界上有两种标准时间的格式 一种是UTC 标准时区,另一种的夏令时的标准时区,

中国使用的是UTC+8 的一个时间 。就是北京时间

 

 


'''
时间分为 三种格式
1. struct_time格式
time.localtime()

2. 时间戳
time.time()

3. 格式化的时间格式

'''

 

1. 时间戳

时间戳是什么? 时间戳就是从1970到现在的秒数

>>> time.time()
1517640828.0257125
>>>

 

2.. struct_time

就是tuple 元组的一种时间格式

>>> time.localtime()
time.struct_time(tm_year=2018, tm_mon=2, tm_mday=3, tm_hour=14, tm_min=54, tm_se
c=50, tm_wday=5, tm_yday=34, tm_isdst=0)

 

3、格式化的时间

就是我常见的一种时间的表示形式

例如:2018-02-03 14-36-01

 

那么首先从时间戳转为 struct_time 的时间 

可以用localtime()直接转为struct time 的格式

如下:

>>> time.localtime()
time.struct_time(tm_year=2018, tm_mon=2, tm_mday=3, tm_hour=14, tm_min=58, tm_se
c=38, tm_wday=5, tm_yday=34, tm_isdst=0)

 

那么如何转换回来呢?

通过 mktime 转为 时间戳格式

>>> x=time.localtime()

>>> time.mktime(x)
1517641148.0
>>>

 

struct_time 转为格式的时间

通过 strftime 来转换

>>> x=time.localtime()
>>>
>>>
>>> time.strftime("%Y-%m-%d %H:%M:%S",x)
'2018-02-03 15:01:32'

 

 

那么怎么转换回来呢?

可以用过strptime 

>>> x2=time.strftime("%Y-%m-%d %H:%M:%S",x)
>>> x2
'2018-02-03 15:01:32'
>>> time.strptime(x2,"%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2018, tm_mon=2, tm_mday=3, tm_hour=15, tm_min=1, tm_sec
=32, tm_wday=5, tm_yday=34, tm_isdst=-1)

 

 

posted @ 2018-02-03 15:10  crazy_py  阅读(2709)  评论(0编辑  收藏  举报