gpt4 book ai didi

node.js - 如何在ejs中将变量设置为Date类型?

转载 作者:太空宇宙 更新时间:2023-11-04 00:42:44 24 4
gpt4 key购买 nike

我正在使用express.js、mongoose 和 ejs,我有一个类似的模型

var t_schema = new mongoose.Schema({
name: String,
startFrom: Date,
...
})

router.get('/', function(req,res) {
t_model.findOne({name: req.body.name}, function(result) {res.render('t', result)})
})

因此结果包含日期类型 startFrom

在我的 ejs 中:

$('#startDate').datepicker.set(<%= result.startDate %>)

这是一个字符串而不是日期,而datepicker.set需要日期。

如何将 result.startDate 设置为日期?

$('#startDate').datepicker.set(new Date('<%= result.startDate %>'))

似乎可以,但时区不正确。

还有2。)

在 Nodejs/mongodb 中操作日期的最佳实践是什么?我的用户将来自不同的时区,所以我想在浏览器中显示他们时区的日期时间,我认为在 Mongodb 中将日期存储为 UTC 可能更好?

最佳答案

首先回答问题2,是的,最好在mongo中将日期存储为UTC,然后在显示给个人用户时,根据用户浏览器时区转换为本地时间。或者不做任何转换,只说时间是 UTC。

要回答第一个问题,您的 jquery 日期选择器可以设置为:

Date date = new Date('<%= result.startDate %>'); 
$('#startDate').datepicker('setDate', date.toUTCString());

关于node.js - 如何在ejs中将变量设置为Date类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36008620/

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