如何将 jquery 全日历日期格式化为 MongoDB 的 ISODate?
How to format jquery fullcalendar date as ISODate for MongoDB?
我想将从全日历的 dayClick 事件中获取的一天存储为 MongoDB 中的 ISODate。
dayClick:function(日期,allDay,jsEvent,视图){
ce.start = 日期;
警报('Clicked on: ' + ce.start + '--' + date.format());
})
结果是:
1425427200000--2015-03-04
但我需要 mongo:
"start" : ISODate("2015-03-27T23:00:00.000Z")
正确的格式规则是什么。
ca.start = 日期。??????
编辑
我在 mongodb.org 上找到了这个,但我不能真正使用它。提供的答案总是 return
"start" : "ISODate(\"2015-03-18T14:35:41.751Z\")",
但是我需要
"start" : ISODate("2015-03-12T23:00:00.000Z"),
也许专家可以从以下内容中获得更多信息:
mongo shell 使用 ISODate 助手包装 Date 类型的对象;但是,对象仍然是 Date 类型。
以下示例对 return 日期对象同时使用 new Date() 构造函数和 ISODate() 构造函数。
var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
您也可以将 new 运算符与 ISODate() 构造函数一起使用。
要打印变量的值,在shell中输入变量名,如下所示:
我的日期
结果是包装在 ISODate() 助手中的 myDate 的日期值:
ISODate("2012-12-19T06:01:17.171Z")
你可以使用 .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
Fullcalendar 使用 momentjs 作为日期。
您可以 format 随心所欲:
var formatstring = "YYYY-MM-DD";
date.format(formatstring);
对于 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();
//...
我想将从全日历的 dayClick 事件中获取的一天存储为 MongoDB 中的 ISODate。 dayClick:function(日期,allDay,jsEvent,视图){ ce.start = 日期; 警报('Clicked on: ' + ce.start + '--' + date.format()); }) 结果是:
1425427200000--2015-03-04
但我需要 mongo:
"start" : ISODate("2015-03-27T23:00:00.000Z")
正确的格式规则是什么。 ca.start = 日期。??????
编辑
我在 mongodb.org 上找到了这个,但我不能真正使用它。提供的答案总是 return "start" : "ISODate(\"2015-03-18T14:35:41.751Z\")", 但是我需要 "start" : ISODate("2015-03-12T23:00:00.000Z"),
也许专家可以从以下内容中获得更多信息:
mongo shell 使用 ISODate 助手包装 Date 类型的对象;但是,对象仍然是 Date 类型。
以下示例对 return 日期对象同时使用 new Date() 构造函数和 ISODate() 构造函数。
var myDate = new Date(); var myDateInitUsingISODateWrapper = ISODate();
您也可以将 new 运算符与 ISODate() 构造函数一起使用。
要打印变量的值,在shell中输入变量名,如下所示:
我的日期
结果是包装在 ISODate() 助手中的 myDate 的日期值:
ISODate("2012-12-19T06:01:17.171Z")
你可以使用 .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
Fullcalendar 使用 momentjs 作为日期。
您可以 format 随心所欲:
var formatstring = "YYYY-MM-DD";
date.format(formatstring);
对于 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();
//...