gpt4 book ai didi

django - Django 中带时区的 Unix 时间戳到日期时间

转载 作者:行者123 更新时间:2023-12-02 04:55:15 24 4
gpt4 key购买 nike

我有一个 javascript 日历,正在向我发送 unixtimestamp。我在新加坡。我希望将此时间戳解释为新加坡时间戳,然后转换为 utc 以与数据库进行比较。

我无法弄清楚如何告诉 django 该时间戳来自当前时区新加坡。

当我执行时间戳的打印语句时,它会在时间上添加 8 小时(这意味着 django 认为我以 utc 格式输入时间,并将其本地化为新加坡上下文)

除其他许多事情外,我尝试过:start=datetime.datetime.fromtimestamp(int(start_date)).replace(tzinfo=get_current_timezone())

start_date 为 1325376000(即 2012-01-01 00:00:00)

但是,当我打印此输出时,我得到 2012-01-01 08:00:00+06:55。当新加坡是 +08:00 时,我什至不知道 +06:55 是从哪里来的。我很迷失。

感谢您的帮助。

设置.py:

TIME_ZONE = '亚洲/新加坡'

USE_TZ = True

最佳答案

上面的所有方法都是有效的,但不是“类似 django”。这是一个简单的例子,Django 程序员将如何做到这一点:

from datetime import datetime

from django.utils.timezone import make_aware


# valid timestamp
value = 1531489250
# you can pass the following obj to a DateTimeField, when your settings.USE_TZ == True
datetime_obj_with_tz = make_aware(datetime.fromtimestamp(value))

Django github timezone module 上查看更多实用程序获得整体概览...

关于django - Django 中带时区的 Unix 时间戳到日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12589764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com