time

python模块之time

time:官方文档是最好的模块表达说明。

通常处理日期和时间的方式在于时间戳和字符串式时间转换,python里面又加入了结构化时间元组的方式,即存在时间戳、字符串时间戳和时间元组三种方式之间的转换。

1、基础

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

%y      两位数的年份表示(00-99)
%Y      四位数的年份表示(000-9999)
%m      月份(01-12)
%d      月内中的一天(0-31)
%H      24小时制小时数(0-23)
%I      12小时制小时数(01-12)
%M      分钟数(00=59)
%S      秒(00-59)
%a      本地简化星期名称
%A      本地完整星期名称
%b      本地简化的月份名称
%B      本地完整的月份名称
%c      本地相应的日期表示和时间表示
%j      年内的一天(001-366)
%p      本地A.M.或P.M.的等价符
%U      一年中的星期数(00-53)星期天为星期的开始
%w      星期(0-6),星期天为星期的开始
%W      一年中的星期数(00-53)星期一为星期的开始
%x      本地相应的日期表示
%X      本地相应的时间表示
%Z      当前时区的名称
%%      %号本身

时间元组:python函数用一个元组装起来的9组数字处理时间。

struct_time(tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)
index attr name value
0 tm_year 2008
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 夏令时 0 1 -1
  • 秒60、61是闰秒。
  • 周日:0是周一。
  • 年日是儒略历。
  • 夏令时:1(夏令时)、0(不是夏令时)、-1(未知),默认 -1 。

2、time

时间操作的3中方式:

  • 时间戳:1970年1月1日之后的秒,time.time()
  • 格式化的字符串:2017-11-08 13:13 , time.strftime('%Y-%m-%d')
  • 结构化时间元组:元组形式见上面基础,time.struct_time()

1、时间戳

time.time():返回当前时间的时间戳(1970纪元后经过的浮点秒数)。

>>> time.time()
1510119901.2839558
>>> int(time.time())
1510119949

2、结构化时间元组

time.localtime([secs]):接收时间辍(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。

>>> t=time.localtime(time.time())
>>> print(t)
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=8, tm_hour=14, tm_min=0, tm_sec=49, tm_wday=2, tm_yday=312, tm_isdst=0)
>>> t[0]
2017

time.gmtime([secs]):接收时间辍(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组t。注:t.tm_isdst始终为0。

>>> t=time.gmtime(time.time())
>>> print(t)
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=8, tm_hour=6, tm_min=6, tm_sec=0, tm_wday=2, tm_yday=312, tm_isdst=0)

time.mktime(tupletime):接受时间元组并返回时间辍。

>>> time.mktime((2017, 11, 8, 14, 0, 49, 2, 312, 0))
1510120849.0

3、结构化时间字符串

time.strftime(fmt[,tupletime]):接收时间元组,并返回可读字符串表示的当地时间,格式由fmt指定。

>>> print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
2017-11-08 14:10:42

time.strptime(str,fmt='%a %b %d %H:%M:%S %Y'):把fmt指定的时间字符串解析为时间元组。

>>> time.strptime('2017-11-08 14:10:42', '%Y-%m-%d %H:%M:%S')
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=8, tm_hour=14, tm_min=10, tm_sec=42, tm_wday=2, tm_yday=312, tm_isdst=-1)

time.asctime([tupletime]):接收时间元组并返回一个可读形式为'Wed Nov 8 14:14:32 2017'(2017年11月8日 周三14时14分32秒)的24个字符的字符串。

>>> time.asctime(time.localtime())
'Wed Nov  8 14:14:32 2017'

time.ctime([secs]):作用相当time.asctime([tupletime]),接收时间戳。

>>> time.ctime()
'Wed Nov  8 14:15:46 2017'
>>> time.ctime(time.time())
'Wed Nov  8 14:16:40 2017'

time.sleep(secs):推迟调用线程的运行,让线程睡一会,secs指秒数。(手速问题,命令行执行的)

>>> print('start %s' % time.time())
start 1510122104.372965
>>> time.sleep(5)
>>> print('end %s' % time.time())
end 1510122117.780732

time.clock():用以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。

>>> time.clock()
2.4444447548501278e-06

以上只包含通常可能会用到的函数,更多见头部链接官网。

time表现形式转换
time表现形式转换

另外常用的日期时间模块有datetime和calendar,有兴趣的可以直接去其脚本文件进行查看。

这两个模块同样可以在官网找到,将不做赘述。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • 开始之前,首先要说明这几点: 1.在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串...
    TENG书阅读 316评论 0 0
  • 在Python中,与时间处理有关的模块就包括:time,datetime以及calendar。这篇文章,主要讲解t...
    linco159阅读 538评论 0 0
  • 一、python time模块的简介 在Python编程语言中,只要涉及到时间日期的操作,就会用到这个time模块...
    一只写程序的猿阅读 804评论 0 0
  • help(time)之后可以知道time有2种时间表示形式: 1、时间戳表示法:即以整型或浮点型表示的是一个以秒为...
    LittlePy阅读 4,622评论 0 1
  • 1.1.1.1time 1、help(time)之后可以知道time有2种时间表示形式: 1、timestam...
    PythonMaO阅读 731评论 0 0