首页 > 解决方案 > 如何在Javascript中将UTC时间转换为本地时间

问题描述

我的后端在 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

提前致谢。

标签: javascriptdjango-templatesdatetime-format

解决方案


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

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

推荐阅读