Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
减少python中的天数 Year=eval(输入(“年份:”) 导入时间 导入日期时间 从datetime导入datetime.timedelta t1=datetime.datetime(年,12,31).strftime(“%m%d.%w”) t2=datetime.datetime(年,12,31).strftime(“%j”) t3=datetime.datetime(年,12,31).strftime(“%d”) t4=时间差(天数=-1) t5=t1-t4_Python_Datetime_Timedelta - Fatal编程技术网

减少python中的天数 Year=eval(输入(“年份:”) 导入时间 导入日期时间 从datetime导入datetime.timedelta t1=datetime.datetime(年,12,31).strftime(“%m%d.%w”) t2=datetime.datetime(年,12,31).strftime(“%j”) t3=datetime.datetime(年,12,31).strftime(“%d”) t4=时间差(天数=-1) t5=t1-t4

减少python中的天数 Year=eval(输入(“年份:”) 导入时间 导入日期时间 从datetime导入datetime.timedelta t1=datetime.datetime(年,12,31).strftime(“%m%d.%w”) t2=datetime.datetime(年,12,31).strftime(“%j”) t3=datetime.datetime(年,12,31).strftime(“%d”) t4=时间差(天数=-1) t5=t1-t4,python,datetime,timedelta,Python,Datetime,Timedelta,我的英语不好。 我想减少天数,第一个是任何年份的1231天。 如何通过“for loop”减少天数,第一个输出是1231,第二个输出是1230,第三个输出是1229…直到0101 我不太理解“timedelta”和“datetime”的含义。但我不能很好地理解python官方网站上的web信息。您可以尝试以下方法: >>> import datetime >>> def back_in_the_past(start_year): ... start_d

我的英语不好。 我想减少天数,第一个是任何年份的1231天。 如何通过“for loop”减少天数,第一个输出是1231,第二个输出是1230,第三个输出是1229…直到0101

我不太理解“timedelta”和“datetime”的含义。但我不能很好地理解python官方网站上的web信息。

您可以尝试以下方法:

>>> import datetime
>>> def back_in_the_past(start_year):
...     start_date = datetime.datetime(start_year, 12, 31)
...     for i in range(0, 5):
...       new_date = start_date - datetime.timedelta(i)
...       print(new_date.strftime("%Y-%m-%d"))
... 
>>> back_in_the_past(2014)
2014-12-31
2014-12-30
2014-12-29
2014-12-28
2014-12-27
您只需更改“对于范围(0,5)内的i:”以在更多天内及时返回


datetime.timedelta(i)应用时间转换-第一个参数以天为单位,所以“i”以天为单位。

你的意思是这样的吗

import datetime

Year = 2014

begin = datetime.date(Year,01,01)
end = datetime.date(Year,12,31)

for d in range((end - begin).days + 1):
    print(end - datetime.timedelta(days=d))

还是我误解了你的问题?

很高兴看到代码片段可以在这个站点的问题内部运行,但看起来python还不受支持。如果你从t1、t2、t3中删除strftime,你的代码就可以工作了。。它返回字符串而不是datetime对象,这就是为什么u无法在字符串(t1)和timedelta对象(t4)之间执行“-”操作的原因。稍后您可以在t5上运行strftime
t5=(t1-t4).strftime(“%m%d.%w”)