python - 尝试将列表中的整数插入日期时间对象

标签 python datetime range

我想要完成的事情非常简单:从一个范围(下面非常不言自明)创建一个循环,将月份插入到日期时间对象中。我知道 %d 需要一个整数,而且我知道“月份”类型是 int...所以我有点困惑为什么我不能替换我的月份变量。这是我的代码:

all_months=range(1,13)
for month in all_months:
    month_start = (datetime.date(2010,'%d',1))%month
    next_month_begin= datetime.date(2010,'%d',1)%(month+1)  
    month_end=next_month_begin - timedelta(days=1)
    print month_start                                        
    print month_end

我做错了什么?

感谢所有帮助!谢谢

最佳答案

这里有一些问题需要修复。

编辑:首先,请注意您的范围,因为您使用month+1来创建next_month_begin,所以您不希望它大于12,否则您会收到错误。

接下来,当您尝试创建日期对象时,您将在使用 (datetime.date(2010,'%d',1))%month 时将月份作为字符串传递。您的代码可能会抛出此错误TypeError:需要一个整数

您需要给它代表月份的整数,而不是整数的字符串(1'1' 之间有区别)。这也是一个简单的修复,因为您有名为 month 的变量,它已经是一个整数,只需使用它而不是创建一个字符串。所以你的代码应该是这样的:

month_start = datetime.date(2010,月,1)

我认为您可以弄清楚如何将其应用到您的 next_month_begin 作业中。

最后一个问题是,您需要使用 datetime.timedelta 告诉 Python 在 datetime 模块中查找 timedelta()函数 - 您的程序当前会给您一个错误,指出 timedelta 未定义。

如果您在应用这些修复程序时遇到任何问题,请告诉我。请务必包含您可能遇到的错误。

关于python - 尝试将列表中的整数插入日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2349551/

相关文章:

r - 如何将间隔数据组合成 R 中更少的间隔?

python - 程序中包含的 py2exe 和 msvcr90.dll 不起作用,请帮忙

javascript - 确保多个不重叠时间范围的好方法

python - 将推文创建时间转换为 UTC

c++ - std::accumulate 使用 View std::ranges::views::values

c# - Excel 选择性粘贴和添加操作

python - Bootstrap 不适用于 django send_mail

python - 使用 Matplotlib 3D 轴,如何同时拖动两个轴

python - pandas.DataFrame. 替换为通配符

c# - 比较.net中的日期