python的datetime模組和time模組
阿新 • • 發佈:2021-11-30
datetime模組
datetime主要包含4個物件:
1.date 處理年,月,日。
2.time 處理時,分,秒 等。
3.datetime 處理日期和時間同時出現的情況。
4.timedelta 處理日期 和 / 或時間間隔。
1.指定年,月,日 來建立一個date物件。
In [1]: from datetime import date In [2]: halloween= date(2021,10,31) In [3]: print(halloween) 2021-10-31 In [5]: print(halloween.day) 31 In [6]: print(halloween.month) 10 In [7]: print(halloween.year) 2021
2.使用today()方法生成今天的日期。
In [9]: from datetime import date
In [10]: now = date.today()
In [12]: now
Out[12]: datetime.date(2021, 11, 30)
In [13]: print(now)
2021-11-30
3.使用timedelta 實現date的加法。
In [14]: from datetime import timedelta In [15]: one_day = timedelta(days=1) In [16]: tomorrow = now + one_day In [17]: print(tomorrow) 2021-12-01 In [18]: print(now + 17 * one_day) 2021-12-17 In [19]: yesterday = now - one_day In [20]: print(yesterday) 2021-11-29
4.time 用來表示一天中的時間。
In [21]: from datetime import time
In [22]: noon = time(12,0,0)
In [24]: noon.hour
Out[24]: 12
In [25]: noon.minute
Out[25]: 0
In [26]: noon.second
Out[26]: 0
In [27]: noon.microsecond
Out[27]: 0
5.datetime 既包含日期也包含時間,並且有一個now()方法,可以獲取當前的日期和時間。
In [28]: from datetime import datetime In [29]: some_day = datetime(2021,11,11,12,12,12,12) In [30]: print(some_day) 2021-11-11 12:12:12.000012 In [31]: now = datetime.now() In [32]: print(now) 2021-11-30 17:21:08.796425
time模組
1.time模組的time()函式會返回此刻與1970年1月1日0點的時間差的秒數。
In [1]: import time
In [2]: now = time.time()
In [3]: print(now)
1638264466.299343
2.用ctime()可以將其轉換為字串。
In [4]: time.ctime(now)
Out[4]: 'Tue Nov 30 17:27:46 2021'
# localtime()返回當前系統時區下的時間。
In [5]: time.localtime(now)
Out[5]: time.struct_time(tm_year=2021, tm_mon=11, tm_mday=30, tm_hour=17, tm_min=27, tm_sec=46, tm_wday=1, tm_yday=334, tm_isdst=0)
# gmtime()返回UTC時間。
In [7]: time.gmtime(now)
Out[7]: time.struct_time(tm_year=2021, tm_mon=11, tm_mday=30, tm_hour=9, tm_min=27, tm_sec=46, tm_wday=1, tm_yday=334, tm_isdst=0)
3.strftime() 的格式化字串 ,常用的梳理。
格式化字串 | 日期 | 範圍 |
---|---|---|
%Y | 年 | 1900-... |
%m | 月 | 01-12 |
%d | 日 | 01-31 |
%H | 時 | 00-23 |
%M | 分 | 00-59 |
%S | 秒 | 00-59 |
In [8]: import time
In [9]: fmt = "It's %Y-%m-%d ,%H:%M:%S"
In [10]: now = time.localtime(time.time())
In [11]: now
Out[11]: time.struct_time(tm_year=2021, tm_mon=11, tm_mday=30, tm_hour=17, tm_min=49, tm_sec=39, tm_wday=1, tm_yday=334, tm_isdst=0)
In [12]: time.strftime(fmt,now)
Out[12]: "It's 2021-11-30 ,17:49:39"