可能重复:
迭代Python中的一系列日期
我有两个条目:
date1 = 2004.09.25
date2 = 2004.10.08
Run Code Online (Sandbox Code Playgroud)
我想在Python中编写一个脚本来识别日期范围并打印它们.这样的事情:
for i in range(date1:date2):
print i
Run Code Online (Sandbox Code Playgroud)
我是否需要以特定格式定义日期的日期?预期的输出如下:
2004.09.25
2004.09.26
.
.
.
2004.10.08
Run Code Online (Sandbox Code Playgroud) 我有两个将由用户输入的 yyyymm 值:
yyyymm_1 = '201406'
yyyymm_2 = '201501'
Run Code Online (Sandbox Code Playgroud)
我希望能够以递增的月份顺序迭代此范围:
for yyyy and mm in the range of yyyymm_1 to yyyymm_2
my_function( yyyy, mm )
Run Code Online (Sandbox Code Playgroud)
这如何在Python中完成?
更新:
理想情况下,解决方案应该尽可能简单,不需要外部库。我不是在寻找通用的日期操作解决方案,而是在寻找回答我上面提出的具体问题的解决方案。
在发布我的问题之前,我已经看到了很多通用解决方案。然而,作为一个 python 菜鸟,不知道如何使它们适应我的问题:
就这一点而言,此页面链接到的其他问题更为通用。如果您希望生成一系列 yyyymm 值,我强烈建议您查看此页面上选定的答案。
我有一项数据科学任务,需要获取历史天气数据.我看过wunderground.com,但他们的API示例结构如下:
http://api.wunderground.com/api/d23ac65706dbf6dd/history_YYYYMMDD/q/CA/San_Francisco.json
因此,在尝试构建数据集时,我需要从一年的第一天到一年的最后一天,但不能这样做:
20140101
20140102
20140103
...
20141229
20141230
20141231
Run Code Online (Sandbox Code Playgroud)
我唯一能想到的是:
for m in range(1, 13):
for d in range(1, 32):
r = requests.get("http://api.wunderground.com/api/0def10027afaebb7/history_2014'+str(m)+'/'+str(d)+'/q/Mexico/Mexico_City.json")
data = r.json()
Run Code Online (Sandbox Code Playgroud)
但这显然不会奏效.你会如何在Python中解决这个问题?
这是我的代码:
MYDATE = []
start_date = "2011-01-01"
stop_date = "2013-05-01"
start = start_date.strftime("%Y-%m-%d")
stop = stop_date.strftime("%Y-%m-%d")
for r in .......:
MYDATE.append((r,r))
Run Code Online (Sandbox Code Playgroud)
我如何可以遍历日期betweet start_date和stop_date?