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

如何使用python将UTC时间转换为相应的UTC日期和时间?,python,python-3.x,Python,Python 3.x,我有一个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,18的日期和时间将是28-04-2019:0,28-04-2019:6,28-04-2019:12和28-04-2019:18。同样地,对于24、30、36和42应该是29-04-2019:00、29-0

我有一个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,18
的日期和时间将是
28-04-2019:0,28-04-2019:6,28-04-2019:12和28-04-2019:18
。同样地,对于
24、30、36和42
应该是
29-04-2019:00、29-04-2019:06、29-04-2019:12、30-04-2019:18
等等。

既然你是新来的,我就让你放松一下。但首先,我想指出你的问题中的几个问题,以及你所展示的

  • 首先,正如有人已经指出的,数组不是数组,而是列表。今后在提供信息时,尽量做到具体准确
  • 虽然没有明确说明,但列表表示为从开始日期开始的小时偏移量。您应该始终仔细定义变量
  • 您的开始日期似乎是一个字符串,以mm-dd-yyy的形式表示日期。同样,在定义变量时要尽量明确
  • 您没有指定所需输出的形式。选项包括与日期时间兼容的时间戳、时间戳或字符串。我选择演示如何生成字符串
  • 好的,现在有一个解决方案:

    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
    

    你说你有一系列的时间,但只是数字。第一个和第二个示例的输出几乎相似。有点不对劲。。你试过什么?为什么要发电子邮件?我一直认为UTC时间的末尾有一个Z。我认为UTC时间以一个Z结尾,否则时区是未指定的,可以是任意时间?@barny提供的数据不是特定于时区的,因此提供的解决方案也不是特定于时区的。@barny我已更新了解决方案,以纳入UTC时区意识。;-)上传问题时,我会记住您建议的要点。非常感谢。如果我的解决方案回答了您的问题,请指出所回答的问题