【问题标题】:How to convert UTC time to local time in Javascript如何在Javascript中将UTC时间转换为本地时间
【发布时间】:2020-02-08 01:01:18
【问题描述】:

我的后端在 Django 中。我在模型上使用了 Django 的 auto_now_add 功能来添加创建该模型的当前时间。例如,我将此值传递给函数:2019-10-08 09:16:20.666754+00:00。 如何在Javascript中将其转换为当地时间?我没有编写JS代码。所以这条线对我来说有点模糊。

我尝试了以下方法:

function localize_time(date) {
    date = new Date(date);
    date = date.toString();
}

然后我看到另一个添加“UTC”的SO帖子,这也不起作用。当我从 Django 的模板调用上述函数时,它显示以下错误:

Uncaught SyntaxError: missing ) after argument list 

它在那个功能上。

在 Django 的模板中,我这样调用函数:

<script type="text/javascript">
    localize_time({{ user.created_on | safe}});
</script>

如果我不添加安全,那么错误是:

Uncaught SyntaxError: Unexpected number

提前致谢。

【问题讨论】:

  • @RamblinRose,不。在将其标记为重复之前,请完整阅读该帖子。
  • 嗯...我在创建它后立即删除了重复的标志,我不明白它为什么在这里。

标签: javascript django-templates datetime-format


【解决方案1】:

我使用 datetime.timestamp 方法以毫秒为单位转换了 Django 的时间,其余的事情就像魔术一样工作。

【讨论】:

    【解决方案2】:

    您需要在日期字符串的末尾添加 UTC。

    const date = new Date('2019-10-08 09:16:20.666754+00:00 UTC');
    alert(date.toString())
    

    【讨论】:

    • 能否请您添加您传递给日期函数的值?
    • 2019-10-08 09:16:20.666754+00:00
    • 请试试这个 - 我已经检查过了,它就像魔术一样工作。 let date = new Date('2019-10-08 09:16:20.666754+00:00 UTC');
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 2018-07-27
    • 2021-10-10
    • 1970-01-01
    相关资源
    最近更新 更多