簡體   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