在 Django 中更改时区感知对象的时区
Change timezone of timezone-aware object in django
我有一个时区感知对象:
date = timezone.now()
然后我使用一些中间件获取用户的时区,所以我将它作为一个字符串,例如:
tz = "America/New_York"
这可能是一个非常简单的问题,但我无法在任何地方找到答案:如何将日期对象的时区更改为用户的时区?我试过 date.localize(tz)
但这给了我一个错误。我做错了什么。
您需要将字符串转换为时区对象,然后使用 astimezone()
import pytz
timezone = pytz.timezone(tz)
your_date_with_usertimezone = date.astimezone(timezone)
我有一个时区感知对象:
date = timezone.now()
然后我使用一些中间件获取用户的时区,所以我将它作为一个字符串,例如:
tz = "America/New_York"
这可能是一个非常简单的问题,但我无法在任何地方找到答案:如何将日期对象的时区更改为用户的时区?我试过 date.localize(tz)
但这给了我一个错误。我做错了什么。
您需要将字符串转换为时区对象,然后使用 astimezone()
import pytz
timezone = pytz.timezone(tz)
your_date_with_usertimezone = date.astimezone(timezone)