我想 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) –