python程式可以通過多種方式處理日期和時間。日期格式之間的轉換是電腦的常見煩惱。python的時間和日曆模組可以幫助跟蹤日期和時間。
什麼是蜱
時間間隔是以秒為單位的浮點數。2023年1月1日上午12:00(時代),時間的特殊時刻表示。
python中有乙個受歡迎的時間模組,它提供了處理時間的功能,並在表示之間進行轉換。函式time.time()從2023年1月1日中午12:00(時代)返回當前系統時間(以秒為單位)。
例#!/usr/bin/pythonimporttime;# 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
日期算術很容易與滴答。然而,在這個形式之前,這個時代之前的日期是無法表現的。未來的日子也不能以這種方式表現 - 截止點是在2023年的unix和windows的某個時刻。
什麼是timetuple?
許多python的時間函式處理時間作為9個數字的元組,如下所示:
指數範圍價值觀
04位數年份2023年
1月1到12
2天1到31
3小時0到23
4分鐘0至59
5第二0到61(60或61是閏秒)
6星期幾0到6(0是星期一)
7一年的一天1至366(朱利安日)
8夏令時-1,0,1,-1表示庫確定dst
上面的元組相當於struct_time結構。此結構具有以下屬性 -
指數屬性價值觀
0tm_year2023年
1tm_mon1到12
2tm_mday1到31
3tm_hour0到23
4tm_min0至59
5tm_sec0到61(60或61是閏秒)
6tm_wday0到6(0是星期一)
7tm_yday1至366(朱利安日)
8tm_isdst-1,0,1,-1表示庫確定dst
獲取當前時間
從翻譯的時刻秒以來的劃時代的浮點值轉換成時間元組,浮點值傳遞到返回的時間,元組的所有九項有效的功能(例如,本地時間)。
#!/usr/bin/pythonimporttime;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/pythonimporttime;localtime=time.asctime(time.localtime(time.time()))print"local current time :",localtime
輸出結果如下 -
localcurrent time:tuejan1310:17:092009
獲取乙個月的日曆
#!/usr/bin/pythonimportcalendar
cal=calendar.month(2008,1)print"here is the calendar:"printcal
輸出結果如下 -
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
該時間模組
sn功能說明
1本地dst時區的偏移量,以utc為單位秒,如果已定義。如果當地的dst時區是utc的東部(如在西歐,包括英國),這是負數的。只有在日光不為零的情況下才可使用。
2接受時間元組,並返回乙個可讀的24個字元的字元string,例如「tue dec 11 18:07:14 2008」。
3返回當前cpu時間作為浮點數秒。為了測量不同方法的計算成本,time.clock的值比time.time()的值更有用。
4像asctime(localtime(secs))而沒有引數就像asctime()
5接受從時代開始以秒為單位的瞬間,並返回具有utc時間的時間元組t。注意:t.tm_isdst始終為0
6接受從時代以秒為單位的瞬間,並返回與本地時間相關的時間t(t.tm_isdst為0或1,具體取決於dst是否按本地規則適用於瞬時秒)。
7接受在本地時間表示為時間元組的瞬間,並返回乙個浮點值,該時間點以秒為單位從瞬間表示。
9接受在本地時間表示為時間元組的瞬間,並返回乙個表示由字元stringfmt指定的時間的字元string。
11返回當前的時刻,因為時代的秒的浮點數。
12重置庫例程使用的時間轉換規則。環境變數tz指定如何完成。
讓我們簡要介紹這些功能 -
時間模組有以下兩個重要的屬性:
sn屬性與描述
1time.timezone
屬性time.timezone是utc之間的本地時區(不含dst)的偏移量(在美洲為》 0,歐洲,亞洲,非洲大部分地區為0)。
2time.tzname
屬性time.tzname是一對與區域相關的字元string,它們分別是沒有和具有dst的本地時區的名稱。
該日曆模組
日曆模組提供與日曆相關的功能,包括為給定月份或年份列印文字日曆的功能。
預設情況下,日曆將星期一作為一周的第一天,將星期日作為最後乙個。要更改此,請呼叫calendar.setfirstweekday()函式。
以下是日曆模組可用的功能列表:
sn功能說明
calendar.calendar(year,w = 2,l = 1,c = 6)
返回乙個具有年份日曆的多行字元string格式化為三列,以c空格分隔。w是每個日期的字元寬度;每行的長度為21 * w + 18 + 2 * c。l是每週的行數。
calendar.firstweekday()
返回每週開始的工作日的當前設定。預設情況下,當日曆首次匯入時,這是0,意思是星期一。
calendar.isleap(年)
如果年是閏年,則返回true;否則,假。
calendar.leapdays(y1,y2)
返回在範圍(y1,y2)內的年份中的閏年總數。
calendar.month(year,month,w = 2,l = 1)
返回乙個多行字元string,其中包含年份月份的日曆,每週一行和兩個標題行。w是每個日期的字元寬度;每行的長度為7 * w + 6。l是每週的行數。
calendar.monthcalendar(年,月)
返回int列表的列表。每個子列表表示乙個星期。年份月份以外的天數設定為0;本月內的日期設定為月日,1及以上。
calendar.monthrange(年,月)
返回兩個整數。第乙個是年度月份的第一天的工作日的**;第二個是當月的天數。平日**為0(星期一)至6(星期日);月數是1到12。
calendar.prcal(year,w = 2,l = 1,c = 6)
像列印calendar.calendar(year,w,l,c)。
calendar.prmonth(year,month,w = 2,l = 1)
像列印calendar.month(年,月,月,日)。
calendar.setfirstweekday(weekday)
將每週的第一天設定為工作日**工作日。平日**是0(星期一)到6(星期日)。
calendar.timegm(tupletime)
time.gmtime的倒數:以時間元組的形式接受時刻,並返回與從時代開始的浮點數秒相同的時刻。
calendar.weekday(年,月,日)
返回給定日期的工作日**。平日**為0(星期一)至6(星期日);月數是1(1月)到12(12月)。
其他模組和功能:
Python 日期和時間
python 程式能用很多方式處理日期和時間,轉換日期格式是乙個常見的功能。python 提供了乙個 time 和 calendar 模組可以用於格式化日期和時間。時間間隔是以秒為單位的浮點小數。每個時間戳都以自從1970年1月1日午夜 曆元 經過了多長時間來表示。python 的 time 模組下...
python 時間和日期
python 程式用很多方式處理時間和日期,轉換日期格式是乙個常見的功能。python提供了乙個time 和calendar 模組可以用於格式化日期和時間。時間間隔是以秒為單位的浮點小數。每個時間戳都以自從1970年1月1日午夜 曆元 經過了多長時間來表示。python的time模組下有很多函式可以...
python 日期和時間
python 的 time 模組下有很多函式可以轉換常見日期格式。如函式time.time 用於獲取當前時間戳,如下例項 usr bin python3 import time print 當前時間戳為 time.time python3 test.py 當前時間戳為 1545807691.5492...