Python SOS日期时间差24小时

Python SOS日期时间差24小时,python,datetime,python-datetime,timedelta,Python,Datetime,Python Datetime,Timedelta,因此,我得到了两年来每小时的多个数据(卫星数据)。从2019年1月1日00:00:00开始,到2020年12月31日23:00:00结束。我想在ArcGIS中以日期格式计算一个新字段。这就是为什么我需要一个python脚本。所以它应该是这样的:2019年1月1日00:00:00 AM,2019年1月1日01:00:00 PM。。。2019年1月1日下午23:00:00。所以在两年的时间里24小时。我的最后一个日期应该是2020年12月31日下午23:00:00。这有用吗 有什么建议吗 谢谢转发

因此,我得到了两年来每小时的多个数据(卫星数据)。从2019年1月1日00:00:00开始,到2020年12月31日23:00:00结束。我想在ArcGIS中以日期格式计算一个新字段。这就是为什么我需要一个python脚本。所以它应该是这样的:2019年1月1日00:00:00 AM,2019年1月1日01:00:00 PM。。。2019年1月1日下午23:00:00。所以在两年的时间里24小时。我的最后一个日期应该是2020年12月31日下午23:00:00。这有用吗

有什么建议吗

谢谢转发

您好,
安德里亚

你可以这样做

#!/user/bin/env python
# -*- coding: utf-8 -*-
from datetime import datetime
from typing import Iterator

from dateutil.rrule import rrule, DAILY, HOURLY


def between_date(start_date: str, end_date: str, freq: int = DAILY) -> Iterator[datetime.date]:
    """
    generate dates form start_date and end_date
    :param start_date: start period.
    :param end_date: end period.
    :return: iterator of dates.
    :param freq: DAILY, MONTH etc..
    """
    date_template = '%d/%m/%Y %H:%M:%S %p'
    for df in rrule(freq=freq, dtstart=datetime.strptime(start_date, date_template),
                    until=datetime.strptime(end_date, date_template)):
        yield df.strftime(date_template)


if __name__ == '__main__':
    start_date = "1/1/2019 00:00:00 AM"
    end_date = "1/1/2019 23:00:00 PM"
    for d in between_date(start_date=start_date, end_date=end_date, freq=HOURLY):
        print(d)

输出

01/01/2019 00:00:00 AM
01/01/2019 01:00:00 AM
01/01/2019 02:00:00 AM
01/01/2019 03:00:00 AM
01/01/2019 04:00:00 AM
01/01/2019 05:00:00 AM
01/01/2019 06:00:00 AM
01/01/2019 07:00:00 AM
01/01/2019 08:00:00 AM
01/01/2019 09:00:00 AM
01/01/2019 10:00:00 AM
01/01/2019 11:00:00 AM
01/01/2019 12:00:00 PM
01/01/2019 13:00:00 PM
01/01/2019 14:00:00 PM
01/01/2019 15:00:00 PM
01/01/2019 16:00:00 PM
01/01/2019 17:00:00 PM
01/01/2019 18:00:00 PM
01/01/2019 19:00:00 PM
01/01/2019 20:00:00 PM
01/01/2019 21:00:00 PM
01/01/2019 22:00:00 PM
01/01/2019 23:00:00 PM


您尝试了什么?能否添加所需的输入输出以使其更清晰?导入datetime a=datetime.datetime(2019,1,1,0,0,0)b=a+datetime.timedelta(小时=24)打印(a.time())打印(b.time())但是我不知道什么是表达式,什么属于代码块:/抱歉,我是一个绝对的python初学者,尤其是在ArcGIS中。例如,您期望的输入/输出是什么?