天天看點

Python_005 時間和日期

Tick

時間間隔是以秒為機關的浮點小數。

每個時間戳都以自從1970年1月1日午夜(曆元)經過了多長時間來表示。

Python附帶的受歡迎的time子產品下有很多函數可以轉換常見日期格式。如函數time.time()用ticks計時機關傳回從12:00am, January 1, 1970(epoch) 開始的記錄的目前作業系統時間, 如下執行個體:

#!/usr/bin/python
import time;  # This is required to include time module.
ticks = time.time()
print "Number of ticks since 12:00am, January 1, 1970:", ticks
           

以上執行個體輸出結果:

Number of ticks since 12:00am, January 1, 1970: 7186862.73399
           

Tick機關最适于做日期運算。但是1970年之前的日期就無法以此表示了。太遙遠的日期也不行,UNIX和Windows隻支援到2038年某日。

時間元組

很多Python函數用一個元組裝起來的9組數字處理時間:

序号 字段
4位數年 2008
1 1 到 12
2 1到31
3 小時 0到23
4 分鐘
5 0到61 (60或61 是閏秒)
6 一周的第幾日 0到6 (0是周一)
7 一年的第幾日 1到366 (儒略曆)
8 夏令時 -1, 0, 1, -1是決定是否為夏令時的旗幟

上述也就是struct_time元組。這種結構具有如下屬性:

序号 屬性
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 (60或61 是閏秒)
6 tm_wday 0到6 (0是周一)
7 tm_yday 1 到 366(儒略曆)
8 tm_isdst -1, 0, 1, -1是決定是否為夏令時的旗幟

擷取目前時間

從傳回浮點數的時間辍方式向時間元組轉換,隻要将浮點數傳遞給如localtime之類的函數。

#!/usr/bin/python
import time;
localtime = time.localtime(time.time())
print "Local current time :", localtime
           

以上執行個體輸出結果:

Local current time : time.struct_time(tm_year=2013, tm_mon=7, 
tm_mday=17, tm_hour=21, tm_min=26, tm_sec=3, tm_wday=2, tm_yday=198, tm_isdst=0)
           

擷取格式化的時間

你可以根據需求選取各種格式,但是最簡單的擷取可讀的時間模式的函數是asctime():

#!/usr/bin/python
import time;
localtime = time.asctime( time.localtime(time.time()) )
print "Local current time :", localtime
           

以上執行個體輸出結果:

Local current time : Tue Jan 13 10:17:09 2009
           

擷取某月月曆

Calendar子產品有很廣泛的方法用來處理年曆和月曆,例如列印某月的月曆:

#!/usr/bin/python
import calendar
cal = calendar.month(2008, 1)
print "Here is the calendar:"
print cal;
           

以上執行個體輸出結果:

Here is the calendar:
    January 2008
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
           

版權聲明:本文為CSDN部落客「weixin_33834679」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_33834679/article/details/92221429