time模块笔记

1. 时间信息的表示

1.1 time.struct_time

time模块定义了一个时间数据结构time.struct_time(网上大部分都称为时间数组),如下:

import time
print(time.localtime(time.time()))
================================================================================================
>> time.struct_time(tm_year=2017, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=53, tm_sec=32, tm_wday=2, tm_yday=361, tm_isdst=0)

括号里从左到右依次是年月日时分秒,tm_wday以一周为周期,周一为0,周二为1,...,周日为6tm_yday代表一年中的第几天,从11tm_yday=1开始,一直到1231tm_yday=365(366)结束。最后一个参数不知道。

1.2 时间戳

unix时间戳是从197011日(UTC/GMT的午夜)开始所经历的秒数。如果把时间看成一根数轴,原点选在197011日(UTC/GMT的午夜),时间戳就可以表示197011日(UTC/GMT的午夜)后任一时刻到原点的距离。time模块中使用浮点数float表示时间戳。使用时间戳可以很方便的进行时差等运算,但是不方便人类阅读。

1.3 格式化的字符串

除了以上两种形式以外,还可以使用格式化的字符串来表示时间。例如2017-12-31 14:28:36的格式为%Y-%m-%d %H:%M:%S2017/12/31 14:28:36的格式为%Y/%m/%d %H:%M:%S。当然也可以使用汉字,2017年12月31日 14时28分36秒的格式为%Y年%m月%d日 %H时%M分%S秒。即以%Y表示年,%m表示月,%d表示日,%H表示时,%M表示分,%S表示秒。

2. 不同时间表示方式的转换

2.1 格式化字符串与时间数组之间的转换

  • time.strptime(string, format)用于把格式化的字符串转换为时间数组,字符串的格式通过format参数指定
  • time.strftime(format[, tuple])用于把时间数组按照format参数指定的格式转换为格式化的字符串

2.2 时间戳与时间数组之间的相互转换

  • time.localtime([seconds])用于把时间戳转换为相对应的时间数组,seconds是可选的,如果不指定,默认时间戳为当前时间戳
  • time.mktime(tuple)用于把时间数组转换为时间戳

2.3 时间戳与格式化字符串的转换

这个需要使用时间数组作为中介,先把时间戳转换为时间数组,然后把时间数组转换为格式化的字符串(或者反之)

3. 获取当前时间信息

time.time()可以用来获取这个函数调用时刻的时间信息。这个函数不接受参数,直接返回当前时刻对应的时间戳。

你可能感兴趣的:(time模块笔记)