如何将jquery fullcalendar日期格式化为MongoDB的ISODate



我想将从fullcalendar的dayClick事件中获得的一天存储为MongoDB中的ISODate。dayClick:函数(date,allDay,jsEvent,view){ce.start=日期;alert('点击时间:'+ce.start+'-'+date.format());})结果是:

1425427200000--2015-03-04

但我需要蒙戈:

"开始":ISODate("2015-03-27T23:0:00.000Z")

什么是正确的格式化规则。ca.start=日期。?????


编辑

我在mongodb.org上找到了这个,但我并不能真正利用它。提供的答案总是返回"start":"ISODate(\"2015-03-18T14:35:41.751Z\")",但我需要"开始":ISODate("2015-03-12T23:0:00.000Z"),

也许专家可以从以下方面获得更多:

mongo shell使用ISODate帮助程序包装Date类型的对象;但是,对象仍然是Date类型。

以下示例使用新的Date()构造函数和ISODate()构造器来返回Date对象。

var myDate=新日期();var myDateInitUsingISODateWrapper=ISODate();

您也可以将新运算符与ISODate()构造函数一起使用。

要打印变量的值,请在shell中键入变量名,如下所示:

myDate

结果是包装在ISODate()帮助程序中的myDate的Date值:

ISO日期("2012-12-19T06:01:7.171Z")

Fullcalendar使用momentjs作为日期。

你可以随心所欲地格式化它们:

var formatstring = "YYYY-MM-DD";
date.format(formatstring);

关于ISO格式,请参阅我的答案:使用momentjs 将系统日期转换为ISO格式

moment().utc().format("YYYY-MM-DDTHH:mm:ss.SSS[Z]");
//or
moment().utc().format('[ISODate("]YYYY-MM-DDTHH:mm:ss.SSS[Z")]');

编辑:

出于某种原因,我以为你需要一根绳子。。。我认为你实际上只需要在另一个对象中有一个JS日期对象:

var obj = {
    start: moment().toDate()
};
//or
var start = moment().toDate();

再次编辑:

我看了你之前的问题,得到了更多的上下文。您可能想要:

select: function(start, end, allDay) {
            var ce = {};
            ce.start = start.toDate();
//...

您可以通过执行类似的操作来使用.toISOString()

var ISODate = new Date(date).toISOString();

所以你的一天点击会像这个

dayClick: function(date, allday, e, view){
   var ISODate = new Date(date).toISOString();
   console.log('ISODate("'+ISODate+'")');
}

这是一个演示

相关内容

  • 没有找到相关文章

最新更新