如何在 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());