我正在嘗試以"Sept 9, 2021"使用的形式決議日期,datetime
我正在嘗試以下格式:
"%m %d, %y"但是當我嘗試轉換它時它會引發一個 ValueError
(即使用int(datetime.strptime("Sept 9, 2021","%m %d, %y").timestamp()))
我怎么知道我應該使用哪種格式?
謝謝
uj5u.com熱心網友回復:
因為strptime有與平常不同的格式代碼。你%b用來指代一個三位數的字串月份,這意味著你必須使用Sep而不是Sept,你%Y用來轉換一個四位數的年份。
所以代碼將如下所示
int(datetime.datetime.strptime("Sep 9, 2021", "%b %d, %Y").timestamp())
# 1631138400
有關詳細資訊,請參閱格式代碼。
uj5u.com熱心網友回復:
據我所知,9 月的主要作業是 9 月(不是 9 月)。
您可以查看此鏈接以獲取更多詳細資訊:Python Date abbreviation
我建議您使用類似于此代碼段的內容:
from datetime import datetime
date_s = "Sep 9, 2021"
datetime_object = datetime.strptime(date_s.upper().replace("SEPT", "SEP"), '%b %d, %Y')
print(datetime_object)
您還可以查看與您的問題類似的 Stack 執行緒: Date Handling in Python for Sept
uj5u.com熱心網友回復:
有幾種方法可以從字串中獲取時間戳:
第一個解決方案是使用dateparserPyPi ( pip install dateparser) 中的模塊。該模塊可以幫助您從任何類似于日期時間字串的字串中獲取日期時間物件。
解決方案:
import dateparser
date_time_object = dateparser.parse("Sept 9, 2021").timestamp()
print(date_time_object)
Result: 1631127600.0
另一個問題是您的字串在月份名稱中包含一個不必要的字串,所以這個解決方案有點錯誤,不會幫助你,但只是為了理解,我會提供這個:
解決方案:
from datetime import datetime
time_stamp = int(datetime.strptime("Sep 9, 2021","%b %d, %Y").timestamp())
print(time_stamp)
Result: 1631127600
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/472635.html
