Python将时间转换为UTC格式

Abh*_*eph 5 python django timezone datetime

from django.utils import timezone
time_zone = timezone.get_current_timezone_name() # Gives 'Asia/Kolkata'
date_time = datetime.time(12,30,tzinfo=pytz.timezone(str(time_zone)))
Run Code Online (Sandbox Code Playgroud)

现在我需要将此时间转换为UTC格式并将其保存在Django模型中.我无法使用date_time.astimezone(pytz.timezone('UTC')).如何将时间转换为UTC.还回到'time_zone'.

这是用户在文本框中键入时间的用例,我们需要以UTC格式节省时间.每个用户还将选择我们从Django timezone模块提供的时区.

一旦用户请求返回保存的时间,它必须在他选择的时区中显示给他.

fam*_*kin 15

使用完整的datetime对象总是更容易,例如:

import datetime
import pytz

time_zone = pytz.timezone('Asia/Kolkata')

# get naive date
date = datetime.datetime.now().date()
# get naive time
time = datetime.time(12, 30)
# combite to datetime
date_time = datetime.datetime.combine(date, time)
# make time zone aware
date_time = time_zone.localize(date_time)

# convert to UTC
utc_date_time = date_time.astimezone(pytz.utc)
# get time
utc_time = utc_date_time.time()

print(date_time)
print(utc_date_time)
print(utc_time)
Run Code Online (Sandbox Code Playgroud)

产量:

2014-07-13 12:30:00+05:30
2014-07-13 07:00:00+00:00
07:00:00
Run Code Online (Sandbox Code Playgroud)

现在对我来说.