如何解决SOS 日期时间 Timedelta 24 小时
所以我在两年内每个小时都有一些多个数据(卫星数据)。它们从 1/1/2019 00:00:00 AM 开始,到 31/12/2020 23:00:00 PM 结束。我想在 ArcGIS 中以日期格式计算一个新字段。这就是为什么我需要一个 python 脚本。所以它应该是这样的:1/1/2019 00:00:00 AM,1/1/2019 01:00:00 PM ... 1/1/2019 23:00:00 PM。所以在两年内 24 小时。我的最后日期应该是 31/12/2020 23:00:00 PM。这有帮助吗?
有什么建议吗?
谢谢转发!
您好, 安德里亚
解决方法
你可以这样做
#!/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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。