使用AM / PM格式化时间为24小时到12小时,并在popover fullCalendar中显示

时间:2018-03-18 15:12:07

标签: javascript fullcalendar

我希望使用AM / PM将时间从24小时格式化为12小时,并将其显示在弹出窗口中。 这是我的代码:

        eventMouseover: function (event, jsEvent) {
                var t1 = event.start;
                var t2 = event.end;

        $(this).popover({
            html:true,
            placement: 'left',
            trigger: 'hover',
            content: t1 + ' - ' + t2,
            container: '#calendar'
        }).popover('toggle');
        }

我在这里搜索答案,但它在弹出框中不起作用。所以我决定要求它。 这是我使用的代码。 它适用于此处,但不适用于popover。

       eventRender: function(event, element) {
            var t1 = event.time;
            var t2 = event.time2;
            var tmpArr = t1.split(':'), time12;
                if(+tmpArr[0] == 12) {
                    time12 = tmpArr[0] + ':' + tmpArr[1] + 'P';
                } else {
                if(+tmpArr[0] == 00) {
                    time12 = '12:' + tmpArr[1] + 'A';
                } else {
                if(+tmpArr[0] > 12) {
                    time12 = (+tmpArr[0]-12) + ':' + tmpArr[1] + 'P';
                } else {
                    time12 = (+tmpArr[0]) + ':' + tmpArr[1] + 'A';
                }
                }
                }

            var tmpArrs = t2.split(':'), time13;
                if(+tmpArrs[0] == 12) {
                    time13 = tmpArrs[0] + ':' + tmpArrs[1] + 'P';
                } else {
                if(+tmpArrs[0] == 00) {
                    time13 = '12:' + tmpArrs[1] + 'A';
                } else {
                if(+tmpArrs[0] > 12) {
                    time13 = (+tmpArrs[0]-12) + ':' + tmpArrs[1] + 'P';
                } else {
                    time13 = (+tmpArrs[0]) + ':' + tmpArrs[1] + 'A';
                }
                }
                } 

                element.find('.fc-content').append(t1 + "-" + t2 +);
        }

1 个答案:

答案 0 :(得分:1)

假设您的网页中包含moment.js(因为FullCalendar在任何情况下都需要它),请使用以下代码代替声明var t1var t2

var t1 = $.fullCalendar.moment(event.start).format("h:mm A")
var t2 = $.fullCalendar.moment(event.end ).format("h:mm A")

P.S。您无需手动计算12小时格式,moment.js会为您执行此操作