Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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
它';s是对的?供使用<&燃气轮机;php上比较日期的运算符?_Php_Date_Date Comparison - Fatal编程技术网

它';s是对的?供使用<&燃气轮机;php上比较日期的运算符?

它';s是对的?供使用<&燃气轮机;php上比较日期的运算符?,php,date,date-comparison,Php,Date,Date Comparison,是吗?在php上使用操作符来比较日期 <?PHP $today = "2010-10-19"; $expired = "2012-12-10"; if($expired > $today) { echo "not expired"; } else { echo "expired"; } ?> 我测试过了。这工作很好。但我并没有创建文档来建议在php上使用操作符来比较日期 请告诉我我们可以使用操作符在php上比较日期吗 <?PHP $today = "2

是吗?在php上使用
操作符来比较日期

<?PHP
$today = "2010-10-19";
$expired = "2012-12-10";

if($expired > $today)
{
    echo "not expired";
}
else
{
    echo "expired";
}
?>
我测试过了。这工作很好。但我并没有创建文档来建议在php上使用
操作符来比较日期

请告诉我我们可以使用
操作符在php上比较日期吗

<?PHP
$today = "2010-10-19";
$expired = "2012-12-10";

if($expired > $today)
{
    echo "not expired";
}
else
{
    echo "expired";
}
?>

使用将日期时间描述转换为Unix时间戳,您可以轻松地将时间戳与
运算符进行比较

$today = strtotime('2010-10-19');// return 1287426600
$expired = strtotime('2012-12-10');// return 1355077800

if ($expired > $today) {// easily comparison of 1355077800 > 1287426600
    echo "not expired";
} else {
    echo "expired";
}
使用将日期时间描述转换为Unix时间戳,您可以轻松地将时间戳与
运算符进行比较

$today = strtotime('2010-10-19');// return 1287426600
$expired = strtotime('2012-12-10');// return 1355077800

if ($expired > $today) {// easily comparison of 1355077800 > 1287426600
    echo "not expired";
} else {
    echo "expired";
}

只要你的日期是在一个可比的格式,这将工作。因为它们是作为字符串进行比较的,所以您需要确保较大的日期组件是第一个,较小的日期组件是最后一个。例如,年份、月份、日期。始终包含前导零。这就是你在例子中所做的,所以它是有效的

如果您没有此格式的日期,您的比较将在某些时间失败。例如:

'2016-07-04' > '2016-01-07' // true
'04-07-2016' > '07-01-2016' // false
比较日期的最佳方法是使用,因为DateTime对象是可比较的,并且还考虑了所有与日期相关的事情,如闰年和DST

<?PHP
$today = new DateTime("2010-10-19");
$expired = new DateTime("2012-12-10");

if($expired > $today)
{
    echo "not expired";
}
else
{
    echo "expired";
}

只要您的日期采用可比较的格式,这就行了。因为它们是作为字符串进行比较的,所以您需要确保较大的日期组件是第一个,较小的日期组件是最后一个。例如,年份、月份、日期。始终包含前导零。这就是你在例子中所做的,所以它是有效的

如果您没有此格式的日期,您的比较将在某些时间失败。例如:

'2016-07-04' > '2016-01-07' // true
'04-07-2016' > '07-01-2016' // false
比较日期的最佳方法是使用,因为DateTime对象是可比较的,并且还考虑了所有与日期相关的事情,如闰年和DST

<?PHP
$today = new DateTime("2010-10-19");
$expired = new DateTime("2012-12-10");

if($expired > $today)
{
    echo "not expired";
}
else
{
    echo "expired";
}

顺便说一句,安全的方法是使用DateTime实例。使用这个PHP可以进行正常的字符串比较。这意味着,只有当日期采用从左到右比较的正确格式时,比较才有效。因此,它适用于某些情况,但我建议您将日期转换为时间戳并进行比较。顺便说一句,安全的方法是使用DateTime实例。使用此PHP进行正常的字符串比较。这意味着,只有当日期采用从左到右比较的正确格式时,比较才有效。因此,它适用于某些情况,但我建议您将日期转换为时间戳并进行比较。您可能需要解释为什么OP的代码能够正常工作,以及为什么他应该在其方法上使用
strotime()
。您可能需要解释为什么OP的代码能够正常工作,以及为什么他应该使用
strotime()
关于他的方法。