Python generate dates series

前端 未结 3 1496
北荒
北荒 2020-12-29 02:37

How can i generate array with dates like this:

Timestamps in javascript miliseconds format from 2010.12.01 00:00:00 to 2010.12.12.30 23.59.59 with step 5 minutes.

相关标签:
3条回答
  • 2020-12-29 03:01

    Well, obviously you start at the start time, loop until you reach the end time and increment inbetween.

    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
    

    Fairly trivial.

    0 讨论(0)
  • 2020-12-29 03:09

    I just felt that it might be worthwhile to note that pandas also has this functionality. Depending on what case you are dealing with exactly, pandas might be a worthy tool to invest time in.

    import pandas as pd 
    times = pd.date_range('2012-10-01', periods=289, freq='5min')
    

    This returns a pandas timeseries-index. Which can be converted to numpy arrays.

    np.array(times)
    
    0 讨论(0)
  • 2020-12-29 03:23

    this is my variant for python3, but it's easy could be converted into python2.6 code:

    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)]
    
    0 讨论(0)
提交回复
热议问题