Jquery 完整日历js日期在错误的位置
我在使用jquery full calenda.js时遇到了一些麻烦 我从数据库中有很多日期,所以我生成了这样的代码Jquery 完整日历js日期在错误的位置,jquery,calendar,Jquery,Calendar,我在使用jquery full calenda.js时遇到了一些麻烦 我从数据库中有很多日期,所以我生成了这样的代码 events: [ <?php while ($tache= mysql_fetch_assoc($liste_tache)): ?> { title: '<?php echo $tache['libelle'] ?>',
events: [
<?php while ($tache= mysql_fetch_assoc($liste_tache)): ?>
{
title: '<?php echo $tache['libelle'] ?>',
start: new Date(<?php echo day($tache['date_tache'],'Y') ?>, <?php echo day($tache['date_tache'],'m') ?>, <?php echo day($tache['date_tache'],'d') ?>, <?php echo day($tache['date_tache'],'H') ?>, <?php echo day($tache['date_tache'],'i') ?>),
allDay: false
},
<?php endwhile; ?>
{
title: 'test',
start: new Date(2013, 10, 08, 07, 30),
allDay: false
},
]
事件:[
{
标题:“”,
开始日期:新日期(,),
全天:错
},
{
标题:"测试",,
开始日期:新日期(2013年10月08日7月30日),
全天:错
},
]
为了看看是否一切正常,我手动添加了一个事件
事实上,问题在于2013年10月8日被设定在日历的末尾,似乎是在另一个月。(时间设置为24小时)事实上它必须是黄色的(日期)
非常感谢您提供的任何帮助此问题与fullcalendarjs无关。相反,它与new Date()相关 根据日期文件 new Date返回当前日期,因此不需要使用当前日期的参数调用new Date 你必须只使用日期
{
title: 'test',
start: Date(2013, 10, 08, 07, 30),
allDay: false
}
or simply
{
title: 'test',
start: Date(), //for current date
allDay: false
}
它应该很好用。这里是JSFIDLE虽然阿披舍克帮助OP解决了他/她的问题,但我相信它没有正确地传达Javascript日期背后的原则
他将事件添加到下个月的正确原因是,Date对象的month参数从0(一月)开始,运行到11(十二月)。这意味着如果他想在2013年10月8日添加一个事件,他应该使用以下参数
{
title: 'test',
start: new Date(2013, 9, 8, 07, 30), // Note that the month parameter is 9, not 10
allDay: false
}
此外,正如阿披舍克所提到的,将Javascript日期作为一个不带“new”关键字的函数调用,将生成一个表示当前日期和时间的日期对象。这意味着您不必提供任何参数来获取当前日期。见下文:
{
title: 'test',
start: Date(), // This will return the current date and time AS A STRING
allDay: false
}
虽然这在逻辑上与使用日期(2013、10、08、07、30)没有区别,但不提供参数更可取,因为更清楚的是您想要的是当前日期和时间,而不是其他日期。额外的参数只会让您/其他开发人员混淆您的意图
如果您想将当前日期和时间作为日期对象而不是字符串获取,请在不提供任何参数的情况下使用new关键字。这太奇怪了,我从来没有见过这样的情况。它确实比您有用