python中时间如何表示

Python015

python中时间如何表示,第1张

Python中有3种不同的时间表示

1.时间戳 timestamp  是从1970年1月1日0时0分0秒开始的秒数

2.struct_time    包含9个元素的tuple

3.format time 已经格式化好便于阅读的时间

使用时间需要使用time模块

import time引入time模块

time.time()方法获取当前的时间,以timestamp的形式

>>>time.time()

1576372527.424447

time.localtime()方法:以struct_time的形式获取当前的当地时间

>>>time.localtime()

time.struct_time(tm_year=2019, tm_mon=12, tm_mday=14,

tm_hour=20, tm_min=15, tm_sec=49, tm_wday=5, tm_yday=348, tm_isdst=0)

time.gmtime()方法:以struct_time的形式获取当前的格林尼治时间

从struct_time中获取具体的年月日:

ctime.tm_year  ctime.tm_mon .....

ttm_tm_isdst = 1来告知mktime()现在处于夏令时,明确使用ttm.tm_isdst = 0来告知未处于夏令时

不同时间表示法的转换

struct_time转timestamp: time.mktime(<struct_time>)

timestamp转struct_time: time.localtime(time.time())

time 模块常用的与时间相关的类和函数:

time 模块的 struct_time 类代表一个时间对象,可以通过 索引和属性名 访问值。 对应关系如下:

索引 —— 属性 值

0 —— tm_year(年) 如:1945

1 —— tm_mon(月) 1 ~ 12

2 —— tm_mday(日) 1 ~ 31

3 —— tm_hour(时) 0 ~ 23

4 —— tm_min(分) 0 ~ 59

5 —— tm_sec(秒) 0 ~ 61

6 —— tm_wday(周) 0 ~ 6

7 —— tm_yday(一年内第几天)1 ~ 366

8 —— tm_isdst(夏时令) -1、0、1

localtime() 表示当前时间,返回类型为 struct_time 对象 ,示例如下所示:

输出结果:

time()——返回当前时间的时间戳

gmtime([secs])——将时间戳转换为格林威治天文时间下的 struct_time,可选参数 secs 表示从 epoch 到现在的秒数,默认为当前时间

localtime([secs])——与 gmtime() 相似,返回当地时间下的 struct_time

mktime(t) localtime() 的反函数

asctime([t])接收一个 struct_time 表示的时间,返回形式为:Mon Dec 2 08:53:47 2019 的字符串

ctime([secs]) ctime(secs) 相当于 asctime(localtime(secs))

strftime(format[, t]) 格式化日期,接收一个 struct_time 表示的时间,并返回以可读字符串表示的当地时间

sleep(secs) 暂停执行调用线程指定的秒数

altzone 本地 DST 时区的偏移量,以 UTC 为单位的秒数

timezone本地(非 DST)时区的偏移量,UTC 以西的秒数(西欧大部分地区为负,美国为正,英国为零)

tzname 两个字符串的元组:第一个是本地非 DST 时区的名称,第二个是本地 DST 时区的名称

基本使用如下所示:

strftime 函数日期格式化符号说明如下所示: