如何在ejs中将variables设置为datetypes?

我使用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)}) }) 

所以结果包含一个Datetypes的startFrom

而在我的ejs:

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

这是一个string而不是date,而datepicker.set需要date。

我怎样才能使result.startDate作为一个date?

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

似乎工作,但时区是不正确的。

和2)

在Nodejs / mongodb中操作date的最佳做法是什么? 我的用户来自不同的时区,所以我想在浏览器中显示date时间在他们的时区,我想也许最好在Mongodb中存储date为UTC?

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

要回答第一个问题,您的jquery datepicker可以设置为:

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