我有时间字符串11:15am
或11:15pm
。我正在尝试将此字符串转换为24小时格式的UTC时区。
从EST到UTC
例如:当我通过时,11:15am
它应该转换为15:15
,当我通过时,11:15pm
它应该转换为3:15
。
我有我正在尝试的这段代码:
def appointment_time_string(time_str):
import datetime
a = time_str.split()[0]
# b = re.findall(r"[^\W\d_]+|\d+",a)
# c = str(int(b[0]) + 4) + ":" + b[1]
# print("c", c)
in_time = datetime.datetime.strptime(a,'%I:%M%p')
print("In Time", in_time)
start_time = str(datetime.datetime.strftime(in_time, "%H:%M:%S"))
print("Start TIme", start_time)
if time_str.split()[3] == 'Today,':
start_date = datetime.datetime.utcnow().strftime("%Y-%m-%dT")
elif time_str.split()[3] == 'Tomorrow,':
today = datetime.date.today( )
start_date = (today + datetime.timedelta(days=1)).strftime("%Y-%m-%dT")
appointment_time = str(start_date) + str(start_time)
return appointment_time
x = appointment_time_string(time_str)
print("x", x)
但这只是转换为24小时而不是UTC。
要将时间从12小时转换为24小时格式,可以使用以下代码:
from datetime import datetime
new_time = datetime.strptime('11:15pm', '%I:%M%p').strftime("%H:%M")
# new_time: '23:15'
为了将时间从转换EST
为UTC
,最可靠的方法是使用第三方库pytz
。请参阅如何将EST / EDT转换为GMT?更多细节
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句