想找到更改 FullCalendar 中默认日期格式的方法。
其实是:
2013 年 8 月 13 日星期二 18:00:00 GMT-0400 (EDT)
我要:
2013-08-13
谢谢。
最佳答案
有关 FullCalendar 的特定信息,您可能需要查看 this ,它为您提供了一些格式规则。还有更多信息here这可能会有用。
但是,如果您需要在 FullCalendar 和其他包或您自己的代码之间的接口(interface)中使用此日期格式,则可以直接使用 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'
Locale 仍然可以与您示例中给出的 GMT-0400 不同(这里是 GMT-0300,最后它比本示例中的那个给了我 1 小时)。
我将在此处复制我所说的第一个 FullCalendar 链接中的信息:
格式日期
将日期对象格式化为字符串。
$.fullCalendar.formatDate( date, formatString [, options ] ) -> String
在 1.3 版之前,formatDate 接受一种非常不同的格式。参见 here .
formatString
是以下任何命令的组合:
- s - 秒
- ss - 秒,2 位数字
- m - 分钟
- mm - 分钟,2 位数字
- h - 小时,12 小时格式
- hh - 小时,12 小时格式,2 位数字
- H - 小时,24 小时格式
- HH - 小时,24 小时格式,2 位数字
- d - 日期编号
- dd - 日期编号,2 位数字
- ddd - 日期名称,简称
- dddd - 日期名称,完整
- M - 月数
- MM - 月数,2 位数字
- MMM - 月份名称,简称
- MMMM - 月份名称,完整
- yy - 年份,2 位数字
- yyyy - 年份,4 位数字
- t - 'a' 或 'p'
- tt - “上午”或“下午”
- T - 'A' 或 'P'
- TT -“上午”或“下午”
- u - ISO8601 格式
- S - 'st', 'nd', 'rd', 'th' 代表日期
- W - ISO8601 week number
特殊字符:
'...'
文字内容
''
单引号(用两个单引号表示)
(...)
仅当包含的变量之一非零时才显示格式
options
参数可用于覆盖默认区域设置选项,例如 monthNames , monthNamesShort , dayNames , 和 dayNamesShort .
关于javascript - FullCalendar 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18551331/