Skip to content

[Python] 如何使用 datetime 模組來處理日期

Last Updated on 2021-05-12 by Clay

在 Python 當中,如果談到要處理『日期』相關的資料,那麼,大家最先想到的非 datetime 這個模組莫屬。 Datetime 這個模組很好地封裝了 Python 關於日期相關的處理,我在爬蟲方面使用的次數特別多。

基本上我認為我可以介紹的部份分成三個部份:『顯示日期時間』、『對日期進行加減的動作』、『改變預設輸出的格式』。

如果想看 Python 官方的文件是如何闡述 datetime 這個模組,可以直接參考官方的網站:https://docs.python.org/zh-cn/3/library/datetime.html


Datetime 使用方法

我們首先來看看該怎麼使用 datetime 來顯示當前日期:

import datetime



datetime 這個模組是 Python 自帶的,並不需要額外下載。

# Display
print('All:', datetime.datetime.now())
print('Year:', datetime.datetime.now().year)
print('Month:', datetime.datetime.now().month)
print('Day:', datetime.datetime.now().day)
print('Weekday:', datetime.datetime.now().weekday())
print('Time:', datetime.datetime.now().time())



Output:

All: 2019-11-07 19:04:57.535884
Year: 2019
Month: 11
Day: 7
Weekday: 3
Time: 19:04:57.535884

我們從上面的程式碼可以看出,我們可以使用 datetime 將目前的時間印出,裡面包含了『年』、『月』、『日』、『時間』這四項。當然,我們也可以分別印出,也可以印出現在是禮拜幾。


除此之外,日期也可以進行加減,使用 datetime.timedelta() 即可。

print('Today:', datetime.datetime.now())
print('Yesterday:', datetime.datetime.now() - datetime.timedelta(days=1))



Output:

Today: 2019-11-07 19:04:57.535884
Yesterday: 2019-11-06 19:04:57.535884

前面是今天的日期,後面是我們減去一天的日期。除了設定天數之外,我們也可以進行時間的增減。(這在爬蟲當中都非常好用)


另外,如果我們處理的時間格式不是我們想要的,我們當然可以使用 regular expression 進行修改。但 Python 中的 datetime 模組已經幫你封裝好客製化輸出的函式了。

# Format
print('Date:', (datetime.datetime.now() - datetime.timedelta(days=1)).strftime('%Y/%m/%d'))



Output:

Date: 2019/11/06

可以看到,現在日期的輸出格式跟我們設定的一樣,方便我們進行後面的處理。


那麼以上,就是關於 Python 當中 datetime 模組的一些心得筆記。

Tags:

Leave a Reply