python3 时间格式的转换

作者: print("") 分类: python 发布时间: 2018-04-13 21:37


使用的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)

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

您的电子邮箱地址不会被公开。