想找到在 FullCalendar 中更改默认日期格式的方法。
实际上,它是:
2013 年 8 月 13 日星期二 18:00:00 GMT-0400 (EDT)
我要:
2013-08-13
谢谢。
想找到在 FullCalendar 中更改默认日期格式的方法。
实际上,它是:
2013 年 8 月 13 日星期二 18:00:00 GMT-0400 (EDT)
我要:
2013-08-13
谢谢。
有关 FullCalendar 的特定信息,您可能需要查看这个,它为您提供了一些格式规则。这里还有一些可能有用的信息。
但是,如果您在 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
. 让:
> 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 接受了一种非常不同的格式。见这里。
formatString
是以下任意命令的组合:
特殊字符:
'...'
文字
''
单引号(用两个单引号表示)
(...)
仅当包含的变量之一为非零时才显示格式
该options
参数可用于覆盖默认语言环境选项,例如monthNames、monthNamesShort、dayNames和dayNamesShort。
我的解决方案:
select: function (start, end, allDay) {
var startFix= moment($.fullCalendar.formatDate(start, 'YYYY-MM-DD'));
newCalendar(startFix);
}