完整日历在格式化日期时弄乱我的时区

时间:2015-12-09 18:17:51

标签: jquery datetime timezone format fullcalendar

我正在实施完整日历 - 我的.js文件看起来像这样 -

$('#calendar').fullCalendar({
        header : {
            left:"prev,next today",
            center:"title",
            right:"agendaWeek,agendaDay"
            },
        timezone: 'Asia/Kolkata',
        defaultView: 'agendaWeek',
        allDaySlot: false,
        editable: true,
        droppable: true,
        selectable: true,
        selectHelper: true,
        eventSources: [{
            type: "POST",
            url: 'cal_func.php',
            async: false,
            data: {action:'get_slots', userid:$userxid, which:$calaction},
            success: function(data){
                if(data.length != 0){
                    return data;
                }else{

                }
            }
        }],
        select: function(start, end){
            if(parseInt($('#mentor').val()) == 1){
                setNotifyMsg('');
            }else{
                if($calaction == 1){
                    var startDate = start.format("YYYY-MM-DD HH:MM:SS");

                    var endDate = end.format("YYYY-MM-DD HH:MM:SS");
                    $title = $('#titleVal').val();
                    var out = addAptToDB($title, startDate, endDate, 0);
                    if(out == 1){
                        //$('#calendar').fullCalendar('renderEvent',{title: $title, start: start, end: end},true);
                        $('#calendar').fullCalendar('refetchEvents');
                    }
                }else{
                    setNotifyMsg('You cannot add an appointment this way.');
                }
            }
            $('#calendar').fullCalendar('unselect');
        }
})

现在,当我从上午9点到10点选择一个时间段来预约我的日历中的约会时。它是在9.12 - 10.12 am之间预订时段。

我调试了,罪魁祸首似乎是'select'中的这一行 -

var startDate = start.format("YYYY-MM-DD HH:MM:SS");

在格式化之前,这是输入 - enter image description here

按moment.js格式化后,这是输出 - enter image description here

它使用moment.js的格式并返回错误值。我哪里错了?我该如何解决这个问题。

  • 感谢。

1 个答案:

答案 0 :(得分:1)

这是因为,MM-指定月份编号。您必须使用正确的格式,例如' YYYY-MM-DD hh:mm:ss'。

Formats in moment