fullcalender.formatdate not working

后端 未结 4 1695
长情又很酷
长情又很酷 2020-12-19 21:18

I am trying to integrate fullcalender to php mysql.I have used the following code.I want to format the date such it will come in format yyyy/mm/dd but when i use format stat

相关标签:
4条回答
  • 2020-12-19 21:55

    As Tifa's answer suggests : if you don't need the time part, don't encode it :

    start = $.fullCalendar.formatDate(start, "yyyy-MM-dd");
    

    Another problem lies in the parameter string you pass to your ajax request :

    data: 'title='+ title+'&start='+ start +'&end='+ end  ,
    

    This string is not url encoded.

    The easiest way to correct this is to pass an object, and let jQuery handle the encoding :

    data: {'title': title, 'start': start, 'end': end } ,
    
    0 讨论(0)
  • 2020-12-19 22:09

    First if you are looking for date only not hours, you should probably use:

    start = $.fullCalendar.formatDate(start, "yyyy/MM/dd");
    end = $.fullCalendar.formatDate(end, "yyyy/MM/dd");
    

    Instead of this:

    start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss");
    end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss");
    

    If you remove date format it seems working because it's inserting dates like a timestamp (it looks like timestamp). Try changing your database structure type to VARCHAR and you will see something like this:

    1405468800000
    

    When you are using dateFormat function, you should look in your web browser console logs. You'll probably see:

    Uncaught TypeError: undefined is not a function
    

    It's because $.fullCalendar.formatDate method no more exist on fullCalendar V2 (changeLog). You may use Moment.js with .format() method (doc).

    Don't forget to import moment.js and edit your start and end variables to:

    start=moment(start).format('YYYY/MM/DD');
    end=moment(end).format('YYYY/MM/DD');
    

    It should fix your issues.

    0 讨论(0)
  • 2020-12-19 22:16

    this code below should do the trick. (assuming you have the moment.min.js lib)

            start=moment(start).format('YYYY-MM-DDTHH:mm:ssZ'); 
            end=moment(end).format('YYYY-MM-DDTHH:mm:ssZ'); 
    
    0 讨论(0)
  • 2020-12-19 22:18

    The "DDTHH:mm" addition will fail on some versions - bets to leave it out and use a pure date format. Add the 'Z' to compensate for the time zone if you wish.

    select: function(start, end){
    
               var converted_start = moment(start).format('YYYY-MM-DD:HH:mm:ssZ');// the "Z" will adjust for time zone
               var converted_end = moment(end).format('YYYY-MM-DD:HH:mm:ssZ');
    
            },
    
    0 讨论(0)
提交回复
热议问题