如何在 ejs 中将变量设置为 Date 类型?
How to set a variable as Date type in ejs?
我正在使用 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 中操作日期的最佳做法是什么?
我的用户将来自不同的时区,所以我想在浏览器中以他们的时区显示日期时间,我认为将日期存储为 UTC 可能更好 Mongodb?
先回答问题2,是的,最好在mongo中将日期存储为UTC,然后在显示给个人用户时,根据用户浏览器时区转换为本地时间。或者不做任何转换,只说时间是 UTC。
要回答第一个问题,您的 jquery 日期选择器可以设置为:
Date date = new Date('<%= result.startDate %>');
$('#startDate').datepicker('setDate', date.toUTCString());
我正在使用 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 中操作日期的最佳做法是什么? 我的用户将来自不同的时区,所以我想在浏览器中以他们的时区显示日期时间,我认为将日期存储为 UTC 可能更好 Mongodb?
先回答问题2,是的,最好在mongo中将日期存储为UTC,然后在显示给个人用户时,根据用户浏览器时区转换为本地时间。或者不做任何转换,只说时间是 UTC。
要回答第一个问题,您的 jquery 日期选择器可以设置为:
Date date = new Date('<%= result.startDate %>');
$('#startDate').datepicker('setDate', date.toUTCString());