【问题标题】:FullCalendar timezone not workingFullCalendar 时区不起作用
【发布时间】:2017-12-22 03:31:25
【问题描述】:

我正在尝试在这个例子中设置时区,何时选择日历上的时间,尽管将timezone选项设置为“America / new_york”,但它仍然在UTC中仍然存在:

$(document).ready(() => {
    const fc = $('#c');
    const tz = 'America/New_York';

    const data = {
        meetings: [
            {
                title: 'Test data',
                start: 1513976400000,
                end: 1513980000000
            }
        ]
    };
    const myEvents = [];
    for (let d = 0; d < data.meetings.length; d += 1) {
        myEvents.push({
            title: 'Booked',
            start: (moment(data.meetings[d].start).tz(tz)),
            end: (moment(data.meetings[d].end).tz(tz)),
        });
    fc.fullCalendar({
        events: myEvents,
        timezone: tz,
        header: {
            left: 'title',
            center: 'month,agendaWeek',
            right: 'today prev,next',
        },
        selectable: true,
        selectHelper: true,
        select(start, end) {
            alert(`Book a meeting for ${start.format('h:mma on dddd M/D')}?`);
        },
        selectOverlap: false,
        editable: false,
        eventOverlap: false,
    });

});

谁能确认这是错误还是用户错误?

【问题讨论】:

    标签: javascript fullcalendar momentjs


    【解决方案1】:

    将时刻默认时区更改为所需时区(以下是工作时区 例如更改时区并观察日历上的事件)。

    $(function () {
        var timeZone = 'America/New_York';
        var now = moment().add(moment.tz(timeZone).utcOffset(), "m");
        moment.tz.setDefault(timeZone);
        $('#calendar').fullCalendar({
         header: {
                    center: 'title',
                    right: 'month,agendaWeek,agendaDay'
                },
                 events: 'https://fullcalendar.io/demo-events.json',
                 defaultView: 'agendaWeek',
                 timeFormat: 'HH:mm',
          
                editable: true,
        });
    });
    <script src="https://momentjs.com/downloads/moment.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://jakubroztocil.github.io/rrule/lib/rrule.js"></script>
    <script src="https://momentjs.com/downloads/moment-timezone-with-data.js"></script>
    <link href="https://fullcalendar.io/js/fullcalendar-3.0.1/fullcalendar.min.css" rel="stylesheet"/>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.0.1/fullcalendar.js"></script>
    
    <div id="calendar"></div>

    【讨论】:

    • 嗨 Nitin,感谢您的建议,但这并没有改变 fullcalendar 的任何内容 - 您能否提供此修复的工作示例?
    • @StephenGheysens:请参阅我提供的工作示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    相关资源
    最近更新 更多