簡體   English   中英

ISO 時間到 python 中的人類可讀時間

[英]ISO time to Human readable time in python

我正在使用 python。 我的時間格式就像

2020-05-23T06:35:11.418279Z #May 23, 2020 at 12:05:11 PM GMT+05:30

我想轉換成人類可讀的時間,比如

23-05-2020 12:05 PM

我也試過解析器。但沒有效果。

誰能幫我這個?

提前致謝:)

另請參閱如何解析 ISO 8601 格式的日期?

不幸的是,由於Z ,無法使用內置的fromisoformat (Python 3.7+) 直接解析字符串為 '2020-05-23T06:35:11.418279Z' 。 您可以改用strptime ,或者這個解決方法,或者 dateutil 的解析器。 前任:

from datetime import datetime
import dateutil # Python 3.9+: use zoneinfo instead

s = '2020-05-23T06:35:11.418279Z'

### parsing options
# strptime
dt = datetime.strptime(s, '%Y-%m-%dT%H:%M:%S.%f%z')
# alternatively fromisoformat with replace (most efficient)
dt = datetime.fromisoformat(s.replace('Z', '+00:00'))
# or more convenient and less efficient:
dt = dateutil.parser.parse(s)

# change timezone to Indian Standard Time:
dt = dt.astimezone(dateutil.tz.gettz('Asia/Kolkata'))
# datetime.datetime(2020, 5, 23, 12, 5, 11, 418279, tzinfo=tzfile('Asia/Calcutta'))

s_out = dt.strftime('%Y-%m-%d %I:%M %p')
# '2020-05-23 12:05 PM'  
import datetime, pytz
isodate = '2020-05-23T06:35:11.418279Z'
d = datetime.datetime.fromisoformat(isodate[:-1]).replace(tzinfo=pytz.utc) # we need to strip 'Z' before parsing
print(d.astimezone(pytz.timezone('Asia/Kolkata')).strftime('%d-%m-%Y %I:%M %p'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM