Python 字串轉時間日期

本篇介紹 Python 字串轉時間日期,在 Python 將 string 轉 datetime 的方法如下,

Python string 轉 datetime

在 Python 日期 string to datetime 的方法如下,
假設我們要轉換的日期字串為 2021-01-01,要使用 datetime.datetime.strptime() 然後會回傳一個 datetime.datetime 物件,

1
2
3
4
5
6
from datetime import datetime

s = '2021-01-01'
day = datetime.strptime(s, '%Y-%m-%d')
print(type(day))
print(day)

datetime.strptime() 第一個參數傳入日期時間字串,第二個參數傳入這個日期時間字串的格式是什麼,例如:%Y-%m-%d 就是 西元年-月-日 這樣的格式,結果如下,

1
2
<class 'datetime.datetime'>
2021-01-01 00:00:00

如果幾點幾分也要傳入呢?Python 日期時間轉 datetime 的方法如下,
這邊示範將 2021-01-10 11:30:202021-01-10 15:40:50 兩個日期時間轉換成 datetime,

1
2
3
4
5
6
7
8
9
10
from datetime import datetime

s1 = '2021-01-10 11:30:20'
s2 = '2021-01-10 15:40:50'
day1 = datetime.strptime(s1, '%Y-%m-%d %H:%M:%S')
day2 = datetime.strptime(s2, '%Y-%m-%d %H:%M:%S')
print(type(day1))
print(type(day2))
print(day1)
print(day2)

結果如下,

1
2
3
4
<class 'datetime.datetime'>
<class 'datetime.datetime'>
2021-01-10 11:30:20
2021-01-10 15:40:50

Python string 轉 datetime 並且作加法

通常日期時間轉換為 datetime 後會作加法,
Python 將日期 string 轉 datetime 並且作加 3 天,範例如下,

1
2
3
4
5
6
7
import datetime

s = '2021-01-10'
day = datetime.datetime.strptime(s, '%Y-%m-%d')
delta = datetime.timedelta(days=3)
day2 = day + delta
print(day2)

結果如下,

1
2021-01-13 00:00:00

Python string 轉 datetime 並且作減法

Python string 轉 datetime 並且作減 2 天,

1
2
3
4
5
6
7
import datetime

s = '2021-01-10'
day = datetime.datetime.strptime(s, '%Y-%m-%d')
delta = datetime.timedelta(days=2)
day2 = day - delta
print(day2)

結果如下,

1
2021-01-08 00:00:00

再舉另一個範例,兩個日期字串轉成 datetime 再相減,

1
2
3
4
5
6
7
8
import datetime

s1 = '2021-01-10 11:30:20'
s2 = '2021-01-08 11:30:30'
day1 = datetime.datetime.strptime(s1, '%Y-%m-%d %H:%M:%S')
day2 = datetime.datetime.strptime(s2, '%Y-%m-%d %H:%M:%S')
delta = day2 - day1
print(delta)

結果如下,

1
-2 days, 0:00:10

其它相關文章推薦
Python 新手入門教學懶人包
Python 時間日期轉字串
Python 寫檔,寫入 txt 文字檔
[Python] 讀取 csv 檔案
[Python] 寫入 csv 檔案
[Python] 讀寫檔案
[Python] 產生 random 隨機不重複的數字 list
[Python] PyAutoGUI 使用教學
Python OpenCV resize 圖片縮放