一、time库中的函数
序号 | 名称 | 描述 | 返回区别 |
---|---|---|---|
1 | time.time( ) | 返回当前时间的时间戳(1970纪元后经过的浮点)。 | 时间戳 |
2 | time.localtime([secs]) | 接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。 | 时间元组 |
3 | time.asctime([tupletime]) | 接受时间元组并返回一个可读的形式为(2008年12月11日 周二18时07分14秒)的24个字符的字符串。 | 格式化 |
4 | time.mktime(tupletime) | 接受时间元组并返回(1970纪元后经过的浮点秒数)。 | 时间戳 |
5 | time.gmtime([secs]) | 接收时间戳(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的t。注:t.tm_isdst始终为0 | 时间元组 |
6 | time.strftime(fmt[,tupletime]) | 接收以时间元组,并返回以可读字符串表示的当地时间,。 | 格式化 |
二、实例说明
1、time.time()
返回当前时间的时间戳(1970纪元后经过的浮点秒数)。
import time
print(time.time())
输出结果:
1564726850.7414112
2、time.localtime([secs])
接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。如果sec参数未输入,则以当前时间为转换标准。
import time
s = time.time()
print(s)
print(time.localtime())
print(time.localtime(s))
输出结果:
1564729513.296264
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=2, tm_hour=15, tm_min=5, tm_sec=13, tm_wday=4, tm_yday=214, tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=2, tm_hour=15, tm_min=5, tm_sec=13, tm_wday=4, tm_yday=214, tm_isdst=0)
time.struct_time 结构说明:
int tm_sec; /* 秒 – 取值区间为[0,59] */
int tm_min; /* 分 - 取值区间为[0,59] */
int tm_hour; /* 时 - 取值区间为[0,23] */
int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */
int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
int tm_year; /* 年份,其值等于实际年份减去1900 */
int tm_wday; /* 星期 – 取值区间为[0,6],其中6代表星期天,0代表星期一,以此类推 */
/* 从每年的1月1日开始的天数 – 取值区间为[0,365],
其中0代表1月1日,1代表1月2日,以此类推 */
int tm_yday;
/* 夏令时标识符,实行夏令时的时候,tm_isdst为正。
不实行夏令时的时候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
int tm_isdst;
3、time.asctime([tupletime])
返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
import time
s = time.localtime()
print(s)
print(time.asctime(s))
输出结果:
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=2, tm_hour=15, tm_min=7, tm_sec=19, tm_wday=4, tm_yday=214, tm_isdst=0)
Fri Aug 2 15:07:19 2019
4、time.mktime(tupletime)
接受时间元组并返回时间戳(1970纪元后经过的浮点秒数)。
import time
s = time.localtime()
print(s)
print(time.mktime(s))
输出结果:
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=2, tm_hour=15, tm_min=13, tm_sec=12, tm_wday=4, tm_yday=214, tm_isdst=0)
1564729992.0
5、time.gmtime([secs])
接收时间戳(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组t。注:t.tm_isdst始终为0
import time
s = time.time()
print(s)
print(time.gmtime(s))
输出结果:
1564730099.421095
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=2, tm_hour=7, tm_min=14, tm_sec=59, tm_wday=4, tm_yday=214, tm_isdst=0)
6、time.strftime(fmt[,tupletime])
接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。
import time
s = time.localtime()
print(s)
print(time.strftime("%Y-%m-%d %H:%M:%S", s))
输出结果:
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=2, tm_hour=15, tm_min=21, tm_sec=30, tm_wday=4, tm_yday=214, tm_isdst=0)
2019-08-02 15:21:30
三、time.localtime([secs])与time.gmtime([secs])
import time
s = time.localtime()
t = time.gmtime()
print('s = ', s)
print('t = ', t)
print(time.mktime(s))
print(time.mktime(t))
输出结果:
如果获取北京时间元组使用 time.localtime([secs])
四、赠语
苦心人天不负,卧薪尝胆,三千越甲可吞吴。