我怎样才能正确写出来? 我想查看自publish_start日以来的publish_end日已过多少天,当它们超过30天时,将显示一条消息。
var a = new Date("<?php echo $this->item->publish_start; ?>");
var b = a.getDate();
var c = new Date("<?php echo $this->item->publish_end; ?>");
var d = c.getDate();
var e = d - b ;
if( e > 30) {
alert("<?php echo JText::_('You cant put more than 30 days'); ?>");
return false;
}
答案 0 :(得分:3)
编辑:澄清后更新
最好在PHP中找到日期之间的差异,然后将该值传递给JavaScript。
我不知道这两个变量的日期格式是什么,但如果它们是unix时间戳,你可以这样做:
var e = <?php echo floor(strtotime($this->item->publish_end)-strtotime($this->item->publish_start))/86400); ?>
if( e > 30) {
alert("<?php echo JText::_('You cant put more than 30 days'); ?>");
return false;
}
答案 1 :(得分:1)
使用getTime()函数获得毫秒差异:
if(d.getTime() - b.getTime() > 2592000000)
(30天有2 592 000 000 ms)
答案 2 :(得分:0)
转换a和c并将它们转换为纪元时间戳(1970年1月1日以来的秒数,unix时间戳)。取两者的区别。将结果除以(60分钟一分钟* 60分钟一小时*一天24小时)然后你就有天数差异。