Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 如何使用datetime获取某一天一周内的所有日期?_Python_Date_Datetime_Date Math - Fatal编程技术网

Python 如何使用datetime获取某一天一周内的所有日期?

Python 如何使用datetime获取某一天一周内的所有日期?,python,date,datetime,date-math,Python,Date,Datetime,Date Math,我在字典里有一些特定日子的测量结果。看起来像 date\u字典['YYYY-MM-DD']=测量值 我想计算从给定日期起7天内测量值之间的差异。当我将日期字符串转换为datetime.datetime时,结果看起来像元组或数组,但行为与元组或数组不同 有没有一种简单的方法可以从给定日期开始一周内生成所有日期?如果是这样,我如何才能有效地做到这一点?您可以使用-。范例- >>> from datetime import datetime,timedelta >>>

我在字典里有一些特定日子的测量结果。看起来像

date\u字典['YYYY-MM-DD']=测量值

我想计算从给定日期起7天内测量值之间的差异。当我将日期字符串转换为
datetime.datetime
时,结果看起来像元组或数组,但行为与元组或数组不同

有没有一种简单的方法可以从给定日期开始一周内生成所有日期?如果是这样,我如何才能有效地做到这一点?

您可以使用-。范例-

>>> from datetime import datetime,timedelta
>>> d = datetime.strptime('2015-07-22','%Y-%m-%d')
>>> for i in range(1,8):
...     print(d + timedelta(days=i))
...
2015-07-23 00:00:00
2015-07-24 00:00:00
2015-07-25 00:00:00
2015-07-26 00:00:00
2015-07-27 00:00:00
2015-07-28 00:00:00
2015-07-29 00:00:00

实际上不需要打印它,
datetime
object+
timedelta
object返回一个
datetime
对象。您可以在计算中直接使用返回的
datetime
对象。

使用datetime,要生成给定日期后的所有7个日期,包括给定日期,您可以执行以下操作:

import datetime
dt = datetime.datetime(...)
week_dates = [ dt + datetime.timedelta(days=i) for i in range(7) ]

有一些库为执行日期时间/日期操作提供了更好的API,最著名的是
pandas
(尽管它包含了更多)。请参阅。

向我们展示更多代码。。。你如何转换?它的行为如何?你期望它表现如何?你说的“差异”是什么意思?差异是一种统计数据。我通过执行
t=date\u string.split('-')
datetime.datetime(year=int(t[0])、month=int(t[1])、day=int(t[2])来转换字符串。我希望datetime的行为类似于数组或列表,因此我可以说
t=datetime.datetime(2015,02,11)
t+(0,0,7)=datetime.datetime(2015,02,18)