Python 字串轉換為日期

2022-03-15 15:57:29 字數 1161 閱讀 2476

應用程式接受字串格式的輸入,但是你想將它們轉換為datetime 物件以便在上面執行非字串操作。

使用python 的標準模組datetime 可以很容易的解決這個問題。比如:

>>> from datetime import datetime

>>> text = '2012-09-20'

>>> y = datetime.strptime(text, '%y-%m-%d')

>>> z = datetime.now()

>>> diff = z - y

>>> diff

datetime.timedelta(3, 77824, 177393)

datetime.strptime() 方法支援很多的格式化**,比如%y 代表4 位數年份, %m代表兩位數月份。還有一點值得注意的是這些格式化佔位符也可以反過來使用,將日期輸出為指定的格式字串形式。

比如,假設你的**中生成了乙個datetime 物件,你想將它格式化為漂亮易讀形式後放在自動生成的信件或者報告的頂部:

>>> z

datetime.datetime(2012, 9, 23, 21, 37, 4, 177393)

>>> nice_z = datetime.strftime(z, '%a %b %d, %y')

>>> nice_z

'sunday september 23, 2012'

還有一點需要注意的是, strptime() 的效能要比你想象中的差很多,因為它是使用純python 實現,並且必須處理所有的系統本地設定。如果你要在**中需要解析大量的日期並且已經知道了日期字串的確切格式,可以自己實現一套解析方案來獲取

更好的效能。比如,如果你已經知道所以日期格式是yyyy-mm-dd ,你可以像下面這樣實現乙個解析函式:

from datetime import datetime

def parse_ymd(s):

year_s, mon_s, day_s = s.split('-')

return datetime(int(year_s), int(mon_s), int(day_s))

實際測試中,這個函式比datetime.strptime() 快7 倍多。如果你要處理大量的涉及到日期的資料的話,那麼最好考慮下這個方案!

SQL Server將日期轉換為字串

獲取日期型別引數的年份,返回int型別年份 year 函式返回表示指定日期中的年份的整數。month 函式返回表示指定日期中的月份的整數。day 函式返回表示指定日期中的日期的整數。select year getdate 將時間2006 05 16 10 57 49字串轉換成的日期格式為 2006 ...

Python如何將字串轉換為日期

問題 你的應用程式接受字串格式的輸入,但是你想將它們轉換為 datetime 物件以便在上面執行非字串操作。解決方案 使用python的標準模組 datetime 可以很容易的解決這個問題。比如 from datetime import datetime text 20ojdxu12 09 20 y...

python將天數轉換為日期字串的方法例項

目錄 在利用python讀取excel的時候,日期格式的單元格讀取出來是數字,該數字表示1990年01月01日到該日期的天數。例如 讀取到的數是 44570,實際上excel中的日期是 2022 01 09 下面這個函式的主要功能是將天數,轉換為日期字串格式 usr www.cppcns.combi...