Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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生成日期系列_Python_Datetime_Timestamp - Fatal编程技术网

Python生成日期系列

Python生成日期系列,python,datetime,timestamp,Python,Datetime,Timestamp,如何生成日期如下的数组: javascript毫秒格式的时间戳,从2010.12.01 00:00:00到2010.12.12.30 23.59.59 与步骤5分钟 ['2010.12.01 00:00:00', '2010.12.01 00:05:00','2010.12.01 00:10:00','2010.12.01 00:15:00', ...] 很明显,你是从开始时间开始的,循环直到你到达结束时间,然后在中间增加 import datetime dt = datetime.date

如何生成日期如下的数组:

javascript毫秒格式的时间戳,从2010.12.01 00:00:00到2010.12.12.30 23.59.59 与步骤5分钟

['2010.12.01 00:00:00', '2010.12.01 00:05:00','2010.12.01 00:10:00','2010.12.01 00:15:00', ...]

很明显,你是从开始时间开始的,循环直到你到达结束时间,然后在中间增加

import datetime

dt = datetime.datetime(2010, 12, 1)
end = datetime.datetime(2010, 12, 30, 23, 59, 59)
step = datetime.timedelta(seconds=5)

result = []

while dt < end:
    result.append(dt.strftime('%Y-%m-%d %H:%M:%S'))
    dt += step
导入日期时间
dt=datetime.datetime(2010,12,1)
end=datetime.datetime(2010,12,30,23,59,59)
步长=datetime.timedelta(秒=5)
结果=[]
而dt

非常简单。

这是我对python3的变体,但很容易转换为python2.6代码:

import datetime as dt

dt1 = dt.datetime(2010, 12, 1)
dt2 = dt.datetime(2010, 12, 12, 23, 59, 59)

time_step = 5 # secoonds
delta = dt2 - dt1

delta_sec = delta.days * 24 * 60 * 60 + delta.seconds

res = [dt1 + dt.timedelta(0, t) for t in range(0, delta_sec, time_step)]

我只是觉得值得注意的是,
pandas
也有这个功能。根据你所处理的具体情况,熊猫可能是一个值得投入时间的工具

import pandas as pd 
times = pd.date_range('2012-10-01', periods=289, freq='5min')
这将返回一个timeseries索引。可以转换为numpy数组

np.array(times)

我在这个答案中遗漏了一件事:数组的元素是日期,而不是字符串。。。它可以用以下方法修复:str(dt1+dt.timedelta(0,t))。。。结果的格式和您所需要的一样,不需要任何转换,这在python2和Python3中都可以运行(就像我的示例一样)。在python2中,最好使用xrange,而不是rangeSure,但内存中有50万个int对象,只需几秒钟。如果你没有内存,你需要一台新电脑格式字符串应为
'%Y.%m.%d…'
以严格匹配问题。我不是来实现规范的,我为此收费。:)