Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查过了多少天_Php_Javascript - Fatal编程技术网

Php 检查过了多少天

Php 检查过了多少天,php,javascript,Php,Javascript,我怎样才能写得正确? 我想检查从发布开始日到发布结束日已经过去了多少天,如果超过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

我怎样才能写得正确? 我想检查从发布开始日到发布结束日已经过去了多少天,如果超过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;
     }

使用getTime函数获取毫秒差:

if(d.getTime() - b.getTime() > 2592000000)

30天有2592000毫秒

使用getTime函数获取毫秒差:

if(d.getTime() - b.getTime() > 2592000000)
30天有2592000毫秒编辑:澄清后更新

最好在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;
}
编辑:澄清后更新

最好在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;
}

转换a和c并将它们转换为历元时间戳自1970年1月1日起的秒,unix时间戳。看看两者的区别。将结果除以60秒(一分钟)×60分钟(一小时)×24小时(一天),就得到了天数的差值。

将a和c转换为历元时间戳,并将它们转换为历元时间戳1970年1月1日起的秒,unix时间戳。看看两者的区别。将结果除以60秒一分钟*60分钟一小时*24小时一天,那么你就有了天数的差异。

如果你必须将这两个日期传输到客户端JS,例如,在客户端显示它们,这可能是更好的选择。如果你告诉我们$this->item->publish\u end和$this->item->publish\u start的格式为。开始时间:2012-06-24,结束时间:2012-07-24如果您必须将这两个日期传输到客户端JS,例如,在客户端显示它们这样做可能是更好的选择。如果您告诉我们$this->item->publish\u End和$this->item->publish\u start的格式是什么,这会有所帮助。开始时间:2012-06-24,结束时间:2012-07-24如果您使用jQuery,您可以尝试插件注释not answer,因为它不是普通的PHP,并且OP没有提到jQueryTImeago是用于显示的。我认为OP希望确保任何内容都不能发布超过一个月。如果您使用jQuery,您可以尝试插件注释not answer,因为它不是普通的PHP,OP没有提到jQueryTImeago是用于显示的。我认为OP想要确保a在一个月内不能发布任何东西。b和d是日期对象,你可以只做d-b>2.592e9。这就是答案!!我花了两天的时间才把它弄出来…谢谢!!当b和d是日期对象时,yuo可以只做d-b>2.592e9。这就是答案!!我花了两天的时间才把它弄出来…谢谢!!