【问题标题】:How to generate new hourly timestamps of future in python?如何在python中生成新的未来每小时时间戳?
【发布时间】:2020-10-22 14:58:41
【问题描述】:

我正在编写这段代码来创建当前时间戳:

datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S')

这给出了以下输出:

'2020-07-02 01:00:00'

我想生成特定日期的所有 24 小时时间戳,例如:

'2020-07-02 00:00:00'
'2020-07-02 01:00:00'
'2020-07-02 02:00:00'
'2020-07-02 03:00:00'
'2020-07-02 04:00:00'
'2020-07-02 05:00:00'
'2020-07-02 06:00:00'
.
.
.
'2020-07-02 22:00:00'
'2020-07-02 23:00:00'

我想到的一个想法是将日期复制 24 次并创建一个类似 00:00:00 的字符串,然后使用一些逻辑将其递增 1 直到 23:00:00 然后连接日期和这些字符串,然后转换它进入日期时间对象。

但是,如果我想做 10 天(即 240 小时和 10 个不同的未来日期),这似乎需要做很多工作。

您是否可以建议在我需要的任何天数内实现所有 24 小时(无分钟、无秒)的未来时间戳?

类似:

number_of days = input('How many days timestamps do you need?')

my_timestamp_function(number_of_days):

   some_logic_using_the_number_of_days

   return pd.Series(output)

谢谢, 威帕威

【问题讨论】:

标签: python pandas date datetime time


【解决方案1】:

你可以使用datetime.timedelta(hours=1)

def generate_datetimes(date_from_str='2020-01-01', days=3):
   date_from = datetime.datetime.strptime(date_from_str, '%Y-%m-%d')
   for hour in range(24*days):
       yield date_from + datetime.timedelta(hours=hour)

for date in generate_datetime():
    print(date.strftime('%Y-%m-%d %H:%M:%S'))

你会得到

2020-01-01 00:00:00
2020-01-01 01:00:00
2020-01-01 02:00:00
...
2020-01-03 22:00:00
2020-01-03 23:00:00

【讨论】:

  • 这真是太棒了。感谢您的及时回复。如果我能支持你的答案,我会在几分钟内接受它作为解决方案。非常感谢。
猜你喜欢
  • 2022-01-06
  • 2011-11-14
  • 1970-01-01
  • 1970-01-01
  • 2018-07-04
  • 2017-12-22
  • 2021-02-15
  • 2010-11-15
  • 1970-01-01
相关资源
最近更新 更多