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

时间:2015-03-18 12:27:08

标签: jquery mongodb fullcalendar

我想在MongoDB中存储我从fullcalendar的dayClick事件中获取的一天作为ISODate。     dayClick:功能(日期,阿迪,jsEvent,视图){             ce.start = date;             alert('Clicked on:'+ ce.start +' - '+ date.format());     }) 结果是:

  

1425427200000--2015-03-04

但我需要在mongo:

  

“start”:ISODate(“2015-03-27T23:00:00.000Z”)

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


修改

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

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

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

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

var myDate = new Date(); var myDateInitUsingISODateWrapper = ISODate();

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

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

数值指明MyDate

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

ISODate( “2012-12-19T06:01:17.171Z”)

2 个答案:

答案 0 :(得分:2)

Fullcalendar使用momentjs作为日期。

您可以随心所欲地format

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

对于ISO格式,请参阅我的答案:Convert system date to ISO format using momentjs

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();

再次编辑:

我查看了你的previous question并获得了更多背景信息。你可能想要:

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

答案 1 :(得分:1)

你可以通过做这样的事情来使用.toISOString()

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

所以你的dayClick看起来像这样

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

这是demo