将日期转换为序数python?

Rem*_*emn 6 python datetime

我想将2010-03-01转换为733832

我刚刚找到了这个常规代码

d=datetime.date(year=2010, month=3, day=1)
d.toordinal()
Run Code Online (Sandbox Code Playgroud)

这里

但我想要更多类似的东西

d=datetime.date('2010-03-01')
d.toordinal()
Run Code Online (Sandbox Code Playgroud)

提前致谢

Mos*_*oye 5

您需要strptime在日期字符串上使用,指定格式,然后可以调用对象的toordinal方法date

>>> 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
Run Code Online (Sandbox Code Playgroud)

date在这种情况下,对方法的调用是多余的,并且仅用于使date对象(而不是对象)保持一致datetime

如果您希望处理更多的日期字符串格式,Python的strftime指令是您要检查的一个很好的参考。


How*_*yan 5

像这样:

datetime.strptime("2016-01-01", "%Y-%m-%d").toordinal()
Run Code Online (Sandbox Code Playgroud)