1. 程式人生 > 其它 >python的datetime模組和time模組

python的datetime模組和time模組

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"