【问题标题】:FullCalendar .start don't get properly hourFullCalendar .start 没有得到正确的小时
【发布时间】:2016-01-23 02:13:00
【问题描述】:

这个问题让我发疯。我不知道该怎么做才能真诚地解决它。我的日历显示此显示:

它的初始化方式如下:

 $('#calendar').fullCalendar({
        'defaultView': 'multiColAgendaDay',
        'height': BackendCalendar.getCalendarHeight(),
        'editable': true,
        'firstDay': 1,          //Lunedì
        'slotMinutes': 30,
        'snapMinutes': 15,
        'axisFormat': 'H:mm',
        'timeFormat': 'H(:mm)',
        'allDayText': EALang['all_day'], 
        ...

我通过以下方式获取开始日期:

console.log($calendar.fullCalendar('getView').start);

但不是返回这个(就像版本 1.6.1 一样)

2015 年 10 月 23 日星期五 00:00:00 GMT+0200(或欧洲法律)

返回这个:

2015 年 10 月 23 日星期五 02:00:00 GMT+0200(或欧洲法律)

这破坏了我的整个代码! 想法?

我的时区

我在意大利/罗马

完整日历版本

2.3.1

【问题讨论】:

  • 你能发布一个复制你的问题的小提琴吗?
  • 这里:jsfiddle.net/JackIlpazzo/jc07k3dd 但如果没有服务器,它就无法正常工作。尝试使用 bitnami 或类似的东西
  • 这是updated fiddle。但是,将 javascript 代码与您提供的 sn-p 进行比较似乎并不相同(缺少 firstDat、soltMinutes ......)。恐怕如果您无法在小提琴中复制问题,我将无法为您提供帮助。
  • 似乎是时区问题

标签: javascript fullcalendar momentjs


【解决方案1】:

如果您希望它使用您的本地时间,您需要在您的 fullcalendar 选项对象中设置 timezone: local,因为 fullcalendar 不再忽略时区。

如果您希望它使用给定的时区(意大利/罗马),您可能需要检查 moment-timezone 以及 moment-timezone-data 以使其正常工作(moment.js 是主要依赖项)。

请在此处查看时区文档:http://fullcalendar.io/docs/timezone/timezone/

希望对你有帮助。

编辑:由于您正在从 1.x 迁移到 2.x,也许您想查看这个“更改日志”:http://fullcalendar.io/wiki/Upgrading-to-v2/

【讨论】:

  • 时区是什么意思:本地?您能否提供一个 jsfiddle 示例?
  • @Dillinger 您应该在这里查看时区的文档:fullcalendar.io/docs/timezone/timezone 每个值都有一个解释,在这种情况下,“本地”是:“本地”(客户端的时区)使用这个如果您存储事件的时区信息并且希望事件根据每个最终用户计算机的本地时区以不同方式显示,则为模式。
猜你喜欢
  • 2011-04-21
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2014-10-30
  • 2023-03-16
  • 2017-01-03
相关资源
最近更新 更多