我想在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”)
答案 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