我想 2010-03-01轉換爲733832將日期轉換爲序數python?
我剛剛發現這個toordinal代碼
d=datetime.date(year=2010, month=3, day=1)
d.toordinal()
從this
但我想更多的東西一樣
d=datetime.date('2010-03-01')
d.toordinal()
在此先感謝
我想 2010-03-01轉換爲733832將日期轉換爲序數python?
我剛剛發現這個toordinal代碼
d=datetime.date(year=2010, month=3, day=1)
d.toordinal()
從this
但我想更多的東西一樣
d=datetime.date('2010-03-01')
d.toordinal()
在此先感謝
你需要的日期字符串中使用strptime
,指定格式,那麼你可以調用date
對象的toordinal
方法:
>>> from datetime import datetime as dt
>>> d = dt.strptime('2010-03-01', '%Y-%m-%d').date()
>>> d
datetime.date(2010, 3, 1)
>>> d.toordinal()
733832
在這種情況下的date
方法的調用是多餘的,僅保留用於使對象一致而不是datetime
對象爲date
對象。
如果你正在尋找處理更多的日期字符串格式,Python's strftime directives是一個很好的參考你想檢查。
這樣的:
datetime.strptime("2016-01-01", "%Y-%m-%d").toordinal()
您需要使用strptime()
時間字符串首先轉換爲datetime
對象。然後調用.toordinal()
的datetime
對象
>>> from datetime import datetime
>>> date = datetime.strptime('2010-03-01', '%Y-%M-%d')
>>> date.toordinal()
733773
上它甚至更好地創建一個函數來實現這一目標爲:
def convert_date_to_ordinal(date):
return datetime.strptime(date, '%Y-%M-%d').toordinal()
convert_date_to_ordinal('2010-03-01')
#returns: 733773
看[strptime(https://docs.python.org/2 /library/datetime.html#datetime.datetime.strptime) –