Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.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 奇数日期(“Y-m-d”)结果_Php_Date - Fatal编程技术网

Php 奇数日期(“Y-m-d”)结果

Php 奇数日期(“Y-m-d”)结果,php,date,Php,Date,关于php日期函数,我有一些奇怪的结果。基本上,我从Mysql数据库中获取一个日期,该数据库采用字符串格式,分为三个元素。例如,这将是2012年9月15日,我最终会比较两个日期,看看它是否已经过期。但问题是,只有某些日期允许代码工作,而有些日期根本不工作,或者如果下面的语句是我的代码,那么任何帮助都会很好 $today = date("d-m-Y"); $expire = date("d-m-Y",strtotime($this->getData('date_day')."-". $t

关于php日期函数,我有一些奇怪的结果。基本上,我从Mysql数据库中获取一个日期,该数据库采用字符串格式,分为三个元素。例如,这将是2012年9月15日,我最终会比较两个日期,看看它是否已经过期。但问题是,只有某些日期允许代码工作,而有些日期根本不工作,或者如果下面的语句是我的代码,那么任何帮助都会很好

 $today = date("d-m-Y");

$expire = date("d-m-Y",strtotime($this->getData('date_day')."-".
$this->getData('date_month')."-".$this->getData('date_year'))) ;

 if ($expire < $today)
{
    echo 'expired';
}
else
{
    echo 'Not expired';
}

我确信这很简单,但由于某些原因我无法解决它。

您需要比较Unix时间戳

$today = time();

$expire = strtotime($this->getData('date_day')."-".
$this->getData('date_month')."-".$this->getData('date_year')) ;

if ($expire > $today)
{
    echo 'expired';
}
else
{
    echo 'Not expired';
}

您需要比较Unix时间戳

$today = time();

$expire = strtotime($this->getData('date_day')."-".
$this->getData('date_month')."-".$this->getData('date_year')) ;

if ($expire > $today)
{
    echo 'expired';
}
else
{
    echo 'Not expired';
}
看起来strotime应该是美国日期格式;您需要交换月份和日期以生成有效日期:

$today = date("d-m-Y");

$expire = date("d-m-Y",strtotime($this->getData('date_month')."-".
$this->getData('date_day')."-".$this->getData('date_year'))) ;
另一方面,请参见Stephen305的答案——这是解决您问题的更好方法。

看来strotime应该是美国日期格式;您需要交换月份和日期以生成有效日期:

$today = date("d-m-Y");

$expire = date("d-m-Y",strtotime($this->getData('date_month')."-".
$this->getData('date_day')."-".$this->getData('date_year'))) ;

另一方面,,请参阅Stephen305的答案-这是解决您问题的更好方法。

您可以添加一些不起作用的日期的示例吗?我们可以麻烦您提供您提到的具体用例吗?我将冒险猜测,本月13日及以后的任何事情都不起作用吗?例如,在if中呈现的是15-09-2010声明未到期。很明显那天已经过去了,你能再试一次吗,格式为“09-15-2010”?你能添加一些不起作用的日期的例子吗?我们能麻烦你提供你提到的具体用例吗?我想冒险猜测一下,这个月13号以后的任何事情都不起作用吗?一个例子是,15-09-2010在if状态中呈现为未过期。那一天显然已经过去了。你能再试一次吗,格式为“09-15-2010”?很好,给斯蒂芬305打电话,我从没想过要用时间。谢谢。打电话给斯蒂芬很好。我从没想过要利用时间。谢谢你。