python的時間模塊

python有兩個重要的時間模塊,分別是time和datetimepython

先看time模塊數組

表示時間的幾種方法:spa

1)時間元組:time.struct_time(tm_year=2016,   tm_mon=7,    tm_mday=21,3d

                                                 tm_hour=22,       tm_min=32,    tm_sec=51,code

                                                 tm_wday=3,       tm_yday=203, tm_isdst=0)
此元組有9個元素(年,月,日,時,分,秒,周幾,年中第幾天,是否夏令時)對象

2)時間戮:距離1970-01-01 00:00:00此時間的總秒數blog

3)格式化顯示 (‘%Y-%m-%d %X')等等字符串

4)英文顯示   'Mon Jan 26 00:52:24 1970'
先看一time模塊的方法io

再看一下關係圖:class

 

 

舉幾個例子

先設一個時間元組,9個參數,最後3位可爲0

t = (2016,7,21,22,47,45,0,0,0)

#給定時間求時間戮:
In [21]: time.mktime(t)
Out[21]: 1469112465.0

#求當前時間戮 In [23]: time.time() Out[23]: 1469112643.2187786
#按指定格式顯示時間
In [25]: time.strftime('%x %X',t) Out[25]: '07/21/16 22:47:45'
#給定一個時間字符串,按給定格式拆分紅數組 
In [26]: str='2016-04-23 12:34:54'
In [27]: time.strptime(str,'%Y-%m-%d %X') Out[27]: time.struct_time(tm_year=2016, tm_mon=4, tm_mday=23, tm_hour=12, tm_min=34, tm_sec=54, tm_wday=5, tm_yday=114, tm_isdst=-1)
In [28]: #英文顯示

In [29]: time.asctime(t)
Out[29]: 'Mon Jul 21 22:47:45 2016'

time.sleep(秒) 延時給定秒數

============================================================================================================

(二)datetime模塊

此模塊下有幾個子模塊:

date:處理年月日,

time:處理分秒時,微秒

datetime:處理年月日,時分秒,微秒,以此爲主講一講

看一下datetime子模塊下的方法,屬性

datetime子模塊也有個時間元組,是7個元素,可省略,省略的話默認爲0

作了一個簡單的說明圖(圖中有個小錯誤,時間元組是7個元素)

 

舉幾個例子:

 

In [32]: from datetime import datetime

In [33]: #獲取當前時間

In [34]: datetime.now()
Out[34]: datetime.datetime(2016, 7, 21, 23, 12, 51, 572284)

In [35]: datetime.today()
Out[35]: datetime.datetime(2016, 7, 21, 23, 13, 1, 458328)

In [36]: #獲取零時區時間

In [37]: datetime.utcnow()
Out[37]: datetime.datetime(2016, 7, 21, 15, 13, 40, 754435)
In [38]: #獲取當前時間戮

In [39]: a=datetime.now()

In [40]: a.timestamp()
Out[40]: 1469114156.388418
In [42]: #設置一個時間對象

In [43]: d=datetime(2016,7,21,22,23,15)

In [44]: #自定義格式顯示

In [45]: d.strftime('%x %X')
Out[45]: '07/21/16 22:23:15'

In [46]: #顯示英文格式

In [47]: d.ctime()
Out[47]: 'Thu Jul 21 22:23:15 2016'

In [48]: #顯示日曆(年,年中第幾周,周幾)

In [49]: d.isocalendar()
Out[49]: (2016, 29, 4)

datetime子模塊單位時間間隔:datetime.resolution=1微秒。

date子模塊的時間間隔爲1天  date.resolution=1天

時間間隔乘以一個數,表示間隔幾天

In [50]: from datetime import date

In [51]: #如今時間是

In [52]: date.today()
Out[52]: datetime.date(2016, 7, 21)

In [53]: #100天之前的日期是

In [54]: date.today()-date.resolution*100
Out[54]: datetime.date(2016, 4, 12)

6個元素的時間元組能夠轉換成9個元素的時間元組,供time模塊使用

In [56]: d
Out[56]: datetime.datetime(2016, 7, 21, 22, 23, 15)

In [57]: d.timetuple()
Out[57]: time.struct_time(tm_year=2016, tm_mon=7, tm_mday=21, tm_hour=22, tm_min=23, tm_sec=15, tm_wday=3, tm_yday=203, tm_isdst=-1)

時間格式化:

%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 當前時區的名稱 %% %號自己

相關文章
相關標籤/搜索