time模块

time模块

前言:搞懂time模块首先要清楚三个概念:时间戳,时间对象,字符串时间

  1. 时间戳:从时间元年(1970 年 1月 1日 00:00:00)到现在经过的秒数
  2. 时间对象:包含年,月,日,时,分,秒,一年中第几周,一年中第几天等
  3. 字符串时间:我们人们能够理解的时间,比如:2020-7-25 14:12

1. 时间戳

# 获取时间戳
time_stamp = time.time()  # 获取当前时间戳
print(time_stamp)

结果:
1595657605.1809392
# 将时间对象转为时间戳
print(time.mktime(time.localtime()))  # 获取当前时间戳

2. 时间对象

# 将时间戳转为时间对象
print(time.localtime())  # 获取本地时间对象,可以传入时间戳,默认传入当前时间戳
print(time.gmtime())   # GTM时间,符合欧洲时间的习惯,可以传入时间戳,默认传入当前时间戳

结果:
time.struct_time(tm_year=2020, tm_mon=7, tm_mday=25, tm_hour=14, tm_min=25, tm_sec=7, tm_wday=5, tm_yday=207, tm_isdst=0)

time.struct_time(tm_year=2020, tm_mon=7, tm_mday=25, tm_hour=6, tm_min=25, tm_sec=7, tm_wday=5, tm_yday=207, tm_isdst=0)

我们知道不传默认为当前时间戳。那么我们传入0s是不是可以得到时间元年的时间对象呢?

# 将时间戳转为时间对象
print(time.localtime(0))  
print(time.gmtime(0))   

结果:time.struct_time(tm_year=1970, tm_mon=1,tm_mday=1,tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

可以发现正是时间元年的时间,但要注意我们本地的时间比欧洲的时间多8个小时

# 将字符串时间转为时间对象
print(time.strptime('2020-12-12', '%Y-%m-%d'))

结果:
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=12, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=347, tm_isdst=-1)

3. 字符串时间

# 将时间对象转为字符串时间
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))  # 其中time.localtime()为默认值,可以不用手动传入

结果:
2020-07-25 14:28:08

结论:以上无非就是时间戳与时间对象直接的转换,时间对象再与字符串时间直接的转换。
上图!!
time模块_第1张图片

结语:你热爱生命吗?那幺别浪费时间,由于时间是组成生命的材料。——富兰克林

你可能感兴趣的:(time模块,时间模块)