time模块

一、在python中,时间的几种表达形式

时间戳(timestamp):通常来说,时间戳表示的是从1970年一月一日00:00:00开始按秒计算的偏移量,我们运行type(time.time())返回的是浮点型<class 'float'>
格式化时间字符串(format string)
结构化时间(struct_time):struct_time元组共有9个元素,(年,月,日,时,分,秒,星期几,一年中第几天,夏令时)
import time

print(type(time.time()))
print(time.time())#时间戳
print(time.strftime('%Y-%m-%d %X'))#格式化的字符串时间
"""
%Y年%m月%d日 %X时分秒
"""
print(time.localtime())#本地时区的struct_time,默认参数是当前时间戳
print(time.gmtime())#UTC时区的struct_time
"""
<class 'float'>
1528686563.300955
2018-06-11 11:09:23
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=11, tm_hour=11, tm_min=9, tm_sec=23, tm_wday=0, tm_yday=162, tm_isdst=0)
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=11, tm_hour=3, tm_min=9, tm_sec=23, tm_wday=0, tm_yday=162, tm_isdst=0)
"""

二、time模块的几种转换方式

计算机认识的时间只能是时间戳格式,而程序员可处理的或者说人类能看懂的时间有:'格式化的时间字符串','结构化时间'

 1、时间戳转化为结构化时间

now_time=time.time()
print(now_time)
struct_time=time.localtime(now_time)#时间戳转化为结构化时间
print(struct_time)#tm_wday=0代表星期一,6代表星期日,tm_yday=162表示在这一年中已经过了162天了,tm_isdst=0指定为非夏令时,1为夏令时,-1为由系统判断
"""
1528687081.7820013
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=11, tm_hour=11, tm_min=18, tm_sec=1, tm_wday=0, tm_yday=162, tm_isdst=0)
"""

2、结构化时间转化为时间戳

struct_time=time.localtime(time.time())
print(struct_time)
now_time=time.mktime(struct_time)
print(now_time)
"""
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=11, tm_hour=11, tm_min=20, tm_sec=37, tm_wday=0, tm_yday=162, tm_isdst=0)
1528687237.0
"""

3、结构化时间转化为字符串时间

struct_time=time.localtime(time.time())#把时间戳转换为结构化时间

print(struct_time)

str_time=time.strftime('%Y-%m-%d',struct_time)

print(str_time)

"""

time.struct_time(tm_year=2018, tm_mon=6, tm_mday=11, tm_hour=11, tm_min=23, tm_sec=52, tm_wday=0, tm_yday=162, tm_isdst=0)

2018-06-11

"""

4、字符串时间转化为结构化时间

str_time='2018-04-17'
struct_time=time.strptime(str_time,'%Y-%m-%d')
print(struct_time)
"""
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=17, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=107, tm_isdst=-1)

"""


5、时间戳时间转化为字符串时间

print(time.strftime('%Y-%m-%d %X',time.localtime(time.time())))
"""
2018-06-11 11:44:11
"""

6、字符串时间转化为时间戳

print(time.mktime(time.strptime('2018-06-11 11:44:11','%Y-%m-%d %X')))
"""
1528688651.0
"""
原文地址:https://www.cnblogs.com/z-x-y/p/9166372.html