我有以下代码来执行此操作,但我怎样才能做得更好?现在我认为它比嵌套循环更好,但是当你在列表理解中有一个生成器时,它开始得到Perl-one-liner.
day_count = (end_date - start_date).days + 1
for single_date in [d for d in (start_date + timedelta(n) for n in range(day_count)) if d <= end_date]:
print strftime("%Y-%m-%d", single_date.timetuple())
Run Code Online (Sandbox Code Playgroud)
start_date和end_date变量是datetime.date因为我不需要时间戳对象.(它们将用于生成报告).对于开始日期2009-05-30和结束日期2009-06-09:
2009-05-30
2009-05-31
2009-06-01
2009-06-02
2009-06-03
2009-06-04
2009-06-05
2009-06-06
2009-06-07
2009-06-08
2009-06-09
Run Code Online (Sandbox Code Playgroud) 我有一些输入数据,输入文件中的时间戳是从文件名中指定的日期时间开始的小时数.
这有点无用,所以我需要将它转换为python datetime.datetime对象,然后将它放在一个numpy数组中.我可以写一个for循环,但我想做的事情如下:
numpy.arange(datetime.datetime(2000, 1,1), datetime.datetime(2000, 1,2), datetime.timedelta(hours=1))
Run Code Online (Sandbox Code Playgroud)
这会引发TypeError.
可以这样做吗?我坚持使用python 2.6和numpy 1.6.1.
我有两个字符串变量,其中包含yyyy-mm-dd格式的日期,如下所示:
date1 = '2011-05-03'
date2 = '2011-05-10'
Run Code Online (Sandbox Code Playgroud)
我想编写生成date1到date2范围内所有日期的代码.如何在Python中完成?
我在 Pandas 中处理大量数据分析并每天使用 pandas.datetime。最近我收到警告“FutureWarning:不推荐使用 pandas.datetime 类,并将在未来版本中从 Pandas 中删除。改为从 datetime 模块导入。” 我之前使用过 datetime lib,当 datetime 无法使用时,我想这样做,并且我知道它是一个与“日期”更相关的库,但是有人知道这种转向 datetime 库背后的想法吗?
假设我有2个字符串'Jan-2010'和'Mar-2010',我想解析它,它返回2个日期时间对象:2010年1月1日和2010年3月31日(即最后一天).
什么是python中最好的策略?我应该只是将字符串拆分为令牌或使用正则表达式然后使用日历函数来说明"Mar-2010"的月份的最后一天(第一天是微不足道的,在这种情况下它总是1,除非我想要这个月的第一个工作日).
有什么建议?提前致谢.
可能重复:
迭代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) 给定两个日期,例如:
December 1, 2017
June 1, 2018
Run Code Online (Sandbox Code Playgroud)
我想得到这个结果:
January 1, 2018
February 1, 2018
March 1, 2018
April 1, 2018
May 1, 2018
June 1, 2018
Run Code Online (Sandbox Code Playgroud)
另外,我还想修改间隔。在上述情况下,间隔是每月。我还希望它变成每季度和半年一次。
因此,给定December 1, 2017和June 1, 2018,它将生成March 1, 2018半年等等......
我还希望它包含在内,这意味着结束日期也应该包含在内
有没有Python包或者函数可以实现这个功能?
我有以下日期范围:
begin: 2018-02-15
end: 2018-04-23
Run Code Online (Sandbox Code Playgroud)
我要实现以下目标:
["2018-02-15 - 2018-02-28", "2018-03-01 - 2018-03-31", "2018-04-01 - 2018-04-23"]
Run Code Online (Sandbox Code Playgroud)
本质上,我想将给定的日期范围划分为几个月。我想不出一种在Python中完成此操作的方法。
我在这里考虑了解决方案,但是,这会根据指定的时间间隔拆分日期范围。我希望能够动态分割日期范围。
因此,鉴于日期范围为2018年2月15日至2018年4月23日,我希望能够获得该范围内的各个月份,如下所示:
python ×8
datetime ×6
date ×2
for-loop ×1
iteration ×1
numpy ×1
pandas ×1
python-2.7 ×1
python-3.x ×1
timedelta ×1