python time 模块

 

Python中,通常有这几种方式来表示时间:

1.时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。
我们运行“type(time.time())”,返回的是float类型。

2.格式化的时间字符串(Format String)

3.结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,
一年中第几周,一年中第几天,夏令时)

时间戳 浮点数形式
>>> import time 

>>> time.time()
1513683626.272084

python是1970年诞生  这个时间戳是python1970年诞生日 到现在 以小数显示时间

>>> t = time.time()
>>> t/3600/24/365
47.998597763326607
>>> 2017-1970 

 

 

 structime 是元祖格式
返回本地时间 struct time 格式
struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,
一年中第几周,一年中第几天,夏令时)
print(time.localtime())

time.struct_time(tm_year=2017, tm_mon=12, tm_mday=19, tm_hour=11, tm_min=49, tm_sec=14, tm_wday=1, tm_yday=353, tm_isdst=0)

 tm_wday 星期一到星期五   从0开始数起

 

 属性                            值
    tm_year(年)                  比如2017 
    tm_mon(月)                   1 - 12
    tm_mday(日)                  1 - 31
    tm_hour(时)                  0 - 23
    tm_min(分)                   0 - 59
    tm_sec(秒)                   0 - 61
    tm_wday(weekday)             0 - 6(0表示周日)
    tm_yday(一年中的第几天)        1 - 366
    tm_isdst(是否是夏令时)        默认为-1

 

 

 

time.sleep() 秒为单位  程序静止多少秒

 

time.gmtime()   UTC时区的struct_time

>>> time.gmtime()
time.struct_time(tm_year=2017, tm_mon=12, tm_mday=19, tm_hour=17, tm_min=26, tm_sec=49, tm_wday=1, tm_yday=353, tm_isdst=0)

 

取里面元组的值

>>> time.localtime()
time.struct_time(tm_year=2017, tm_mon=12, tm_mday=20, tm_hour=1, tm_min=22, tm_sec=16, tm_wday=2, tm_yday=354, tm_isdst=0)

>>> t = time.localtime()
>>> 
>>> 
>>> t.tm_year
2017
>>> t.tm_mon
12
>>> t.tm_mday
20
>>> t.tm_hour
1
>>> t.tm_min
33

 

打印1970年的哪一天

>>> t = time.localtime(1232131)
>>> t
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=15, tm_hour=14, tm_min=15, tm_sec=31, tm_wday=3, tm_yday=15, tm_isdst=0)

>>> print("this is 1970 day:%d"  %t.tm_yday)
this is 1970 day:15
time.mktime()  struct time元组格式 转成 时间戳格式
>>> t
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=15, tm_hour=14, tm_min=15, tm_sec=31, tm_wday=3, tm_yday=15, tm_isdst=0)
>>> 
>>> time.mktime(t)
1232131.0

 

time.strftime(format[, tuple]) -> string  字符串格式,加上struct time元组  

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

 

>>> time.strftime("%Y-%m-%d %H:%M",t)
'1970-01-26 00:15'

 

python中时间日期格式化符号:

%a 星期的简写。如 星期三为Web 
%A 星期的全写。如 星期三为Wednesday 
%b 月份的简写。如4月份为Apr 
%B月份的全写。如4月份为April 
%c: 日期时间的字符串表示。(如: 04/07/10 10:43:39%d: 日在这个月中的天数(是这个月的第几天) 
%f: 微秒(范围[0,999999]) 
%H: 小时(24小时制,[0, 23]) 
%I: 小时(12小时制,[0, 11]) 
%j: 日在年中的天数 [001,366](是当年的第几天) 
%m: 月份([01,12]) 
%M: 分钟([00,59]) 
%p: AM或者PM 
%S: 秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~%U: 周在当年的周数当年的第几周),星期天作为周的第一天 
%w: 今天在这周的天数,范围为[0, 6],6表示星期天 
%W: 周在当年的周数(是当年的第几周),星期一作为周的第一天 
%x: 日期字符串(如:04/07/10%X: 时间字符串(如:10:43:39%y: 2个数字表示的年份 
%Y: 4个数字表示的年份 
%z: 与utc时间的间隔 (如果是本地时间,返回空字符串) 
%Z: 时区名称(如果是本地时间,返回空字符串) 
%%: %% => %

 

 

time.strptime(string, format)  格式化的时间字符串转换成struct time元组

参数是 格式化的时间字符串,格式

>>> t = time.localtime()

>>> t
time.struct_time(tm_year=2017, tm_mon=12, tm_mday=20, tm_hour=11, tm_min=58, tm_
sec=32, tm_wday=2, tm_yday=354, tm_isdst=0)

>>> time.strftime("%Y-%m-%d %H:%M",t)
'2017-12-20 11:58'

>>> time.strptime("2017-12-20 11:58","%Y-%m-%d %H:%M")
time.struct_time(tm_year=2017, tm_mon=12, tm_mday=20, tm_hour=11, tm_min=58, tm_
sec=0, tm_wday=2, tm_yday=354, tm_isdst=-1)
>>>

 

time.asctime() 

asctime([tuple]) -> string  

如果不传递元组参数 默认打印本地时间

>>> t = time.localtime(2313)

>>> time.asctime(t)
'Thu Jan  1 08:38:33 1970'

 

>>> time.asctime()
'Wed Dec 20 16:55:27 2017'

 

time.ctime()

ctime(时间戳) -> string

如果不传递时间戳参数 默认打印本地时间

>>> t = time.time()
>>> t
1513760447.9049652

>>> t = time.time()

>>> time.ctime(t)
'Wed Dec 20 17:00:58 2017'

 

 

时间格式转换图:

 

 

 

 

 

 

 

 

 
 
posted @ 2017-12-23 01:16  minger_lcm  阅读(282)  评论(0编辑  收藏  举报