所以我有两个日期时间顺序,StartDateOrdinal和EndDateOrdinal,我想用步骤3循环这些日期。这很好,但我注意到a变量返回的是整数而不是序数,这对我来说是个问题,因为我想用日期时间.年,.month和.day方法,这显然不可能使用整数。在
有什么简单的方法吗?或者将整数转换回datetime对象,或者以其他方式循环使用datetime。谢谢!在
DateRange = range(StartDateOrdinal, EndDateOrdinal, 3)
for a in DateRange
year = a.year
month = a.month
day = a.day
这里的本质是,当您在各种对象上调用方法时,您可以更改对象的类型。在Python中,所有对象都有与其相关联的方法和属性,但是每种类型的对象都有不同的方法/属性。在
datetime
对象上的.toordinal()
方法返回整数(int
),因此您的StartDateOrdinal
对象不再是datetime
对象。int
没有.fromordinal()
方法。该方法可以在datetime库中找到。在这样可以解决您的问题:
这是因为您没有迭代
datetime
类型。当您得到StartDateOrdinal
和EndDateOrdinal
-它们是整数类型而不是日期类型。例如所以你就这么做了
^{pr2}$在循环中,您将其转换回datetime对象,然后使用方法获取月、年和日期
如果已经有顺序日期,只需
import datetime as dt
并在循环中使用更改相关问题 更多 >
编程相关推荐