【问题标题】:FullCalendar date formatFullCalendar 日期格式
【发布时间】:2013-08-31 18:12:32
【问题描述】:

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

其实是:
2013 年 8 月 13 日星期二 18:00:00 GMT-0400 (EDT)

我想要:
2013-08-13

谢谢。

【问题讨论】:

  • 您好,请记住始终先使用 Google。查询FullCalendar date format 应该可以满足您的所有需求。
  • 嗨。你真的认为我在加入 SO 之前没有成功吗?

标签: javascript fullcalendar


【解决方案1】:

有关 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 是以下任意命令的组合:

  • 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 - 'am' 或 'pm'
  • T - 'A' 或 'P'
  • TT - “上午”或“下午”
  • u - ISO8601 格式
  • S - 'st'、'nd'、'rd'、'th' 表示日期
  • W - ISO8601 week number

特殊字符:

'...' 文字文本

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

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

options 参数可用于覆盖默认语言环境选项,例如 monthNamesmonthNamesShortdayNamesdayNamesShort

【讨论】:

  • 完美!谢谢高清!
【解决方案2】:

我的解决方案:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    • 2016-06-05
    相关资源
    最近更新 更多