【问题标题】:How to change date format available for use with FullCalendar jQuery plugin如何更改可用于 FullCalendar jQuery 插件的日期格式
【发布时间】:2023-03-15 07:19:02
【问题描述】:

我使用的是'FullCalendar' jQuery plugin,但是我的日期字符串数据的格式只有这种格式 dd-MMM-yyyy HH:mm:ss。

如何将其解析为 FullCalendar 插件,使其采用插件接受的适当日期格式之一?

我假设我需要使用formatDate,但我不知道如何或在哪里使用它。

【问题讨论】:

    标签: jquery date fullcalendar


    【解决方案1】:

    如果你开始玩弄这样的日期格式,你会陷入痛苦的世界。

    更新

    根据您的 cmets,我会考虑重新格式化您的输入日期(在 javascript 中执行此操作)。 This question 展示了许多方法来做到这一点。

    【讨论】:

    • 谢谢克里斯蒂安。我没有使用任何语言。我必须使用的日期输出来自我正在使用的 CMS,我无法控制它。我需要将给定的日期格式转换为 FullCalendar 可以接受的格式。你觉得这会不会太难了?我应该找到替代方案吗?
    【解决方案2】:

    尽管我想我可能会对此答案投反对票,但我们开始吧:-)

    function myParseDate(indate){ //indate in your format eg. '15-September-2011 13:37:00'
        var datearraytmp1 = indate.split('-');
        var datearraytmp2 = datearraytmp1[2].split(' ');
        var datearraytmp3 = datearraytmp2[1].split(':');
            var datearray = [datearraytmp1[0], datearraytmp1[1], datearraytmp2[0], datearraytmp3[0], datearraytmp3[1], datearraytmp3[2]];
        var jsDate = new Date(datearray[2], monthStringToNumber(datearray[1]), datearray[0], datearray[3], datearray[4], datearray[5], 0);
    }
    
    
    var monthNames = {"January":0, "February":1, "March":2, "April":3, "May":4, "June":5, "July":6, "August":7, "September":8, "October":9, "November":10, "December":11};
    function monthStringToNumber(monthname) {
        return monthNames[monthname];
    } 
    

    这将为您提供 jsDate 作为 JavaScript 日期对象,您可以将其与 fullCalendar 一起使用而没有太多问题。注意,monthNames 需要更改为您的语言。

    这是一个丑陋但有效的解决方案。

    编辑:更简洁的解决方案是使用http://www.datejs.com/,它似乎可以很好地解析您的输入:P

    【讨论】:

    • 澄清一下,@Christian Payne 的解决方案在大多数情况下更简洁,但如果你真的无法更改输入,这至少会让你的编码更进一步:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 2013-09-04
    • 1970-01-01
    相关资源
    最近更新 更多