我想将从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+'")');
}
这是一个演示