我有一个JavaScript日历,它向我发送一个Unix时间戳。我在新加坡。我希望将此时间戳解释为新加坡标准时间,然后转换为UTC以便与数据库进行比较。
但是我无论如何都不知道如何告诉Django这个时间戳来自当前时区,即新加坡。当我打印时间戳的输出时,它会将时间加8小时(这意味着Django认为我输入的时间是UTC,并将其本地化到新加坡上下文中)。
除了其他事情外,我尝试了以下代码:
然而,当我打印此输出时,我得到的结果是2012年1月1日08:00:00+06:55。我甚至不知道+06:55是从哪里来的,因为新加坡是+08:00。我很迷茫。
感谢您的帮助。
settings.py:
但是我无论如何都不知道如何告诉Django这个时间戳来自当前时区,即新加坡。当我打印时间戳的输出时,它会将时间加8小时(这意味着Django认为我输入的时间是UTC,并将其本地化到新加坡上下文中)。
除了其他事情外,我尝试了以下代码:
start=datetime.datetime.fromtimestamp(int(start_date)).replace(tzinfo=get_current_timezone())
其中,start_date为1325376000(即2012年1月1日00:00:00)。然而,当我打印此输出时,我得到的结果是2012年1月1日08:00:00+06:55。我甚至不知道+06:55是从哪里来的,因为新加坡是+08:00。我很迷茫。
感谢您的帮助。
settings.py:
TIME_ZONE = 'Asia/Singapore'
USE_TZ = True
1325376000
是'2012-01-01 00:00:00 UTC+0000'
和'2012-01-01 08:00:00 SGT+0800'
。你认为为什么在新加坡应该是00:00:00
? - jfs