python找茬系列13--那些傻傻分不清楚的time库函数

一、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))

输出结果:

图.png

如果获取北京时间元组使用 time.localtime([secs])

四、赠语

苦心人天不负,卧薪尝胆,三千越甲可吞吴。

你可能感兴趣的:(python找茬系列13--那些傻傻分不清楚的time库函数)