检查已过了多少天

时间:2012-06-25 00:42:05

标签: php javascript

我怎样才能正确写出来? 我想查看自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;
     }

3 个答案:

答案 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小时)然后你就有天数差异。