繁体   English   中英

如何使用 python 将 UTC 时间转换为相应的 UTC 日期和时间?

[英]How to convert times in UTC to a corresponding Date and time in UTC using python?

我在 UTC 中有一系列时间,如下所示:

Array = [0,6,12,18,24,30,36,42,48,54,60,66,72,78,84,90,96,102,108,114,120,126]

我想要字符串格式的相应日期和时间。

例如:如果开始日期(比方说)是 28-04-2019 0, 6, 12, 1828-04-2019的日期和时间将为28-04-2019:0, 28-04-2019:6,28-04-2019:12 and 28-04-2019:18 同样对于 24、30,36 24, 30,36 and 42应该是29-04-2019:00, 29-04-2019:06, 29-04-2019:12, 30-04-2019:18等等。

鉴于您是 SO 的新手,我会放宽您的要求。 但首先,我想指出您的问题和您所展示的内容的几个问题。

  1. 首先,正如有人已经指出的那样,Array 不是 Array,它是一个列表。 将来呈现信息时,尽量做到具体和准确。
  2. 虽然没有明确说明,但该列表表示为从开始日期开始的小时数偏移量。 您应该始终仔细定义您的变量。
  3. 您的开始日期似乎是一个字符串,以 mm-dd-yyyy 的形式表示日期客栈。 同样,始终尝试明确定义变量。
  4. 您没有指定所需的 output 的形式。选项包括日期时间兼容时间戳、pandas 时间戳或字符串。 我选择演示生成一个字符串。

好的,现在解决方案:

import datetime as dt
from dateutil import parser, relativedelta  
from dateutil.utils import default_tzinfo
def gen_date(stDate: str, ofst: int) -> str:
    std = parser.parse(stDate + ' 00:00 UTC') #Makes TZ aware timestamp
    newdt = std + relativedelta.relativedelta(hours=ofst)
    return newdt.strftime("%m-%d-%Y:%H %Z") #Returns TZ aware string
    
offset_lst = [0,6,12,18,24,30,36,42,48,54,60,66,72,78,84,90,96,102,108,114,120,126]
std = '28-04-2019'
for ofst in offset_lst:
    print(f"Start Date {std} + Offset {ofst} hours -> {gen_date(std, ofst)}")  

以上产量:

Start Date 28-04-2019 + Offset 0 hours -> 04-28-2019:00 UTC
Start Date 28-04-2019 + Offset 6 hours -> 04-28-2019:06 UTC
Start Date 28-04-2019 + Offset 12 hours -> 04-28-2019:12 UTC
Start Date 28-04-2019 + Offset 18 hours -> 04-28-2019:18 UTC
Start Date 28-04-2019 + Offset 24 hours -> 04-29-2019:00 UTC
Start Date 28-04-2019 + Offset 30 hours -> 04-29-2019:06 UTC
Start Date 28-04-2019 + Offset 36 hours -> 04-29-2019:12 UTC
Start Date 28-04-2019 + Offset 42 hours -> 04-29-2019:18 UTC
Start Date 28-04-2019 + Offset 48 hours -> 04-30-2019:00 UTC
Start Date 28-04-2019 + Offset 54 hours -> 04-30-2019:06 UTC
Start Date 28-04-2019 + Offset 60 hours -> 04-30-2019:12 UTC
Start Date 28-04-2019 + Offset 66 hours -> 04-30-2019:18 UTC
Start Date 28-04-2019 + Offset 72 hours -> 05-01-2019:00 UTC
Start Date 28-04-2019 + Offset 78 hours -> 05-01-2019:06 UTC
Start Date 28-04-2019 + Offset 84 hours -> 05-01-2019:12 UTC
Start Date 28-04-2019 + Offset 90 hours -> 05-01-2019:18 UTC
Start Date 28-04-2019 + Offset 96 hours -> 05-02-2019:00 UTC
Start Date 28-04-2019 + Offset 102 hours -> 05-02-2019:06 UTC
Start Date 28-04-2019 + Offset 108 hours -> 05-02-2019:12 UTC
Start Date 28-04-2019 + Offset 114 hours -> 05-02-2019:18 UTC
Start Date 28-04-2019 + Offset 120 hours -> 05-03-2019:00 UTC
Start Date 28-04-2019 + Offset 126 hours -> 05-03-2019:06 UTC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM