想要找到在FullCalendar中更改默认日期格式的方法。
实际上,它是:
2013年8月13日星期二18:00:00 GMT-0400(美国东部时间)
我想:
2013年8月13日
感谢。
答案 0 :(得分:8)
有关FullCalendar的特定信息,您可能需要查看this,它会为您提供一些格式规则。还有一些可能有用的信息here。
但是,如果您需要在FullCalendar与其他软件包或您自己的代码之间的接口中使用此日期格式,则可以直接使用JavaScript:
如果你想要“今天”,你可以(小心,因为那将是客户端):
> (new Date()).toISOString().slice(0, 10)
'2013-08-31'
从你说过的字符串中,你可以:
> dateStr = "Tue Aug 13 2013 18:00:00 GMT-0400 (EDT)"
> (new Date(dateStr)).toISOString().slice(0, 10)
'2013-08-13'
两者都会以UTC格式提供ISO日期。对于区域设置日期,您应该在使用.toISOString
之前将时间对象“移动”到UTC。让:
> dateStr = "Mon Aug 12 2013 22:00:00 GMT-0400 (EDT)"
> dateObj = new Date(dateStr) /* Or empty, for today */
> dateIntNTZ = dateObj.getTime() - dateObj.getTimezoneOffset() * 60 * 1000
> dateObjNTZ = new Date(dateIntNTZ)
> dateObjNTZ.toISOString().slice(0, 10)
'2013-08-12'
区域设置仍然可以与您的示例中给出的GMT-0400不同(此处为GMT-0300,最后它在本示例中为1小时后给出了我。)
我将在这里复制我说的第一个FullCalendar链接中的信息:
将Date对象格式化为字符串。
$.fullCalendar.formatDate( date, formatString [, options ] ) -> String
在1.3版之前,formatDate接受了一种非常不同的格式。请参阅here。
formatString
是以下任何命令的组合:
特殊字符:
'...'
文字
''
单引号(由两个单引号表示)
(...)
仅当其中一个封闭变量为非零时才显示格式
options
参数可用于覆盖默认语言环境选项,例如monthNames,monthNamesShort,dayNames和dayNamesShort。
答案 1 :(得分:0)
我的解决方案:
select: function (start, end, allDay) {
var startFix= moment($.fullCalendar.formatDate(start, 'YYYY-MM-DD'));
newCalendar(startFix);
}