python - 如何以 Z 单位的间隔生成从日期 X 到日期 Y 的常规时间序列?
问题描述
我是 Python 新手(来自 Matlab)并且在执行简单任务时遇到了一些麻烦:
如何以 Z 单位的间隔创建从日期 X 到日期 Y 的常规时间序列?
例如,从 2013 年 1 月 1 日到 2013 年 1 月 31 日,每 10 分钟一班
在 Matlab 中:
t = datenum(2013,1,1):datenum(0,0,0,0,10,0):datenum(2013,12,31);
解决方案
此函数将生成任何间隔,类似于range
,但也适用于非整数:
def make_series(begin, end, interval):
x = begin
while x < end:
yield x
x = x + interval
然后你可以这样做:
>>> import datetime
>>> date_x = datetime.datetime(2013,1,1)
>>> date_y = datetime.datetime(2013,12,31)
>>> step = datetime.timedelta(days=50)
>>>
>>> list(make_series(date_x, date_y, step))
[datetime.datetime(2013, 1, 1, 0, 0), datetime.datetime(2013, 2, 20, 0, 0), datetime.datetime(2013, 4, 11, 0, 0), datetime.datetime(2013, 5, 31, 0, 0), datetime
.datetime(2013, 7, 20, 0, 0), datetime.datetime(2013, 9, 8, 0, 0), datetime.datetime(2013, 10, 28, 0, 0), datetime.datetime(2013, 12, 17, 0, 0)]
推荐阅读
- c# - 在 C# 中定位多个 office/outlook 版本
- validation - 使用 ConstraintValidator 验证对象
- javascript - 当 Div 在视口中时,希望 JavaScript 脚本运行
- java - Android 分享到 Facebook 不起作用
- c# - 从包含多种类型的 JSON 对象中提取数组
- mysql - 在具有 1000 万行的数据库上选择 mysql 时出现错误 504
- python - brewer.py 将 x 轴转换为日期
- python - 按时间顺序追加日期
- reactjs - Foursquare API - 不返回照片
- javascript - jQuery 队列 css 方法