我正在开展一个仅在一个国家/地区使用但现在正在多个国家/地区使用的项目。
所以我正在处理一些DateTime问题,因为你可以成像。
我在我的前端使用角度js,在后端使用python,在本项目中使用Postgres作为我的数据库。
为避免DateTime出现任何问题,并尝试使用时区更加轻松,我将数据库中的DateTime保存为UTC。
from DateTime import DateTime
# inside a class of my entity
self.start_date = datetime.utcnow()
这工作正常,问题是当我尝试将日期转换回来时。
例如。
如果我的应用程序在GMT -1的国家/地区运行,那么当用户 要求在数据库中保存实体及其2016-07-13 15:00:00 (使用UTC now())DateTime将成为2016-07-13 16:00:00。
但是当我试图找回价值时,我有两种情况:
我尝试使用momentjs库来处理日期,但似乎没有任何效果。
我想知道我应该做的是获得GMT,比如(-01:00),然后使用来自数据库的DateTime进行一些数学计算,例如sub或GMT小时差的总和。
答案 0 :(得分:0)
解决方案:
我的解决办法是,将所有内容以UTC格式保存在我的数据库中。
将 datetime 检索为UTC,并使用 momentjs 库转换为浏览器时区。
这样做。
moment.tz(moment.utc(datetime), moment.tz.guess());