【问题标题】:How do I get the event time from an event click in fullcalendar如何从全日历中的事件点击中获取事件时间
【发布时间】:2015-11-14 23:30:30
【问题描述】:

我在 fullcalendar 中有一个 eventclick 事件,它返回有关事件的详细信息,包括日期和时间。我怎样才能得到时间?早上 6:00:00 前

这是我正在使用的fiddle。

我正在尝试 .time() 因为文档说 start 是像对象一样的时刻,而时刻对象有一个名为 .time() 的方法

eventClick: function (calEvent, jsEvent, view) { 
        alert(calEvent.start.time());
    }

【问题讨论】:

  • 第一个参数似乎是一个 Date 对象
  • 根据文档.time() 返回持续时间,而不是开始时间。所以,试试calEvent.start.format('h:mm:ss a')

标签: javascript jquery fullcalendar momentjs


【解决方案1】:

需要安装插件moment.js

比你可以使用

eventClick: function (calEvent, jsEvent, view) { alert(moment(calEvent.start).format('h:mm:ss a')); }

Fiddle

【讨论】:

  • moment.js 已经是 FullCalender 的一部分,而且大多数时候是 moment.js-objects
【解决方案2】:

当前版本的 FullCalendar (2.4.0) 附带 moment.js,这是一个用于解析、操作和格式化日期的扩展库。但在您的小提琴中,您使用的是稍旧的 FullCalendar 1.5.3,不包括 moment.js。

您链接了the official docs,但请注意,它们适用于当前版本,而不是您的旧版本!在您的 FullCalendar 中,calEvent.start 是标准的 JS Date object,因此您可以使用标准的 Date 方法来获取时间:

eventClick: function (calEvent, jsEvent, view) { 
    alert(calEvent.start.getHours()+':'+calEvent.start.getMinutes()+':'+calEvent.start.getSeconds());
    // displays 10:30:0
}

在你的小提琴中:https://jsfiddle.net/jRFYE/471/

如果要切换到当前版本的 FullCalendar,可以使用 moment.js 方法。我更新了你的 Fiddle to the latest version of FullCalendar,在这里你可以更广泛地格式化时间:

eventClick: function (calEvent, jsEvent, view) { 
    alert(calEvent.start.format('h:mm:ss a'));
    // displays 10:30:00 am
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多