FullCalendar日期格式

FullCalendar date format

本文关键字:格式 日期 FullCalendar      更新时间:2023-09-26

想要找到更改FullCalendar中默认日期格式的方法。

实际上是:
2013年8月13日星期二18:00:00 GMT-0400(美国东部时间)

我想要:
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之前,您的时间对象为UTC。Let:

> 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链接的信息:

formatDate

将Date对象格式化为字符串。

$.fullCalendar.formatDate( date, formatString [, options ] ) -> String

在1.3版本之前,formatDate接受了一种非常不同的格式。请参见此处。

formatString是以下任意命令的组合:

  • s-秒
  • ss-秒,2位数字
  • m-分钟
  • 毫米-分钟,2位数字
  • h-小时,12小时格式
  • hh-小时,12小时格式,2位数字
  • H-小时,24小时格式
  • HH-小时,24小时格式,2位数字
  • d-日期编号
  • dd-日期编号,2位
  • ddd-日期名称,缩写
  • dddd-日期名称,完整
  • M-月数
  • MM-月数,2位
  • MMM-月份名称,缩写
  • MMMM-月份名称,完整
  • -年,2位数字
  • yyyy-年,4位数字
  • t-"a"或"p"
  • tt-"上午"或"下午"
  • T-"A"或"P"
  • TT-"AM"或"PM"
  • u-ISO8601格式
  • S-日期的"st"、"nd"、"rd"、"th"
  • W-ISO8601周数

特殊字符:

'...'文字文本

''单引号(由两个单引号表示)

(...)仅当包含的变量之一为非零时显示格式

options参数可用于覆盖默认的区域设置选项,如monthNames、monthNamesShort、dayNames和dayNamesSshort。

我的解决方案:

      select: function (start, end, allDay) {             
        var startFix= moment($.fullCalendar.formatDate(start, 'YYYY-MM-DD'));               
        newCalendar(startFix);           
    }