Php 比较2个不工作的日期和时间
我将日期时间与今天的日期时间进行比较,以显示或不显示内容(如果是过去的日期)。我已经回答了这个问题,但没有成功 这是代码Php 比较2个不工作的日期和时间,php,Php,我将日期时间与今天的日期时间进行比较,以显示或不显示内容(如果是过去的日期)。我已经回答了这个问题,但没有成功 这是代码 function vacancy_expire($id, $close_date){ date_default_timezone_set("Pacific/Fiji"); $today = "2014-04-30 04:04"; $close_date = "2014-04-30 16:00"; if( $to
function vacancy_expire($id, $close_date){
date_default_timezone_set("Pacific/Fiji");
$today = "2014-04-30 04:04";
$close_date = "2014-04-30 16:00";
if( $today > $close_date ){
echo "1";
} else {
echo "0";
}
}
function vacancy_expire($id, $close_date){
date_default_timezone_set("Pacific/Fiji");
$today = date("Y-m-d H:m");
$close_date = trim($close_date);
if( $today > $close_date ){
return 0;
} else {
return 1;
}
}
如果您按以下方式更改上述内容:
function vacancy_expire($id, $close_date) {
date_default_timezone_set("Pacific/Fiji");
$today = strtotime("2014-04-30 04:04");
$close_date = strtotime("2014-04-30 16:00");
if( $today > $close_date ){
echo "1";
} else {
echo "0";
}
}
我希望这会有所帮助。您缺少strotime函数 函数中的$today&$close_date是一个字符串,需要转换为日期和时间 遵循以下步骤:
<?php
function vacancy_expire($id, $close_date){
date_default_timezone_set("Pacific/Fiji");
$today = time();
$close_date = strtotime($close_date);
if( $today > $close_date ){
echo "1";
} else {
echo "0";
}
}
vacancy_expire('someid', '2014-04-30 16:00');
这是最后的代码
function vacancy_expire($id, $close_date){
date_default_timezone_set("Pacific/Fiji");
$today = "2014-04-30 04:04";
$close_date = "2014-04-30 16:00";
if( $today > $close_date ){
echo "1";
} else {
echo "0";
}
}
function vacancy_expire($id, $close_date){
date_default_timezone_set("Pacific/Fiji");
$today = date("Y-m-d H:m");
$close_date = trim($close_date);
if( $today > $close_date ){
return 0;
} else {
return 1;
}
}
您的问题是您正在比较普通字符串。您需要将它们转换为时间戳并比较结果。更好的方法是,创建DateTime对象并进行比较:)好的,让我再试一次。我不理解针对报告问题提出的解决方案。正在向函数传递一个参数$close\u date
,但忽略参数值。变量被设置为常量值。整个函数体可以替换为一行:“echo“0”
”。为什么要在日期中添加
标记?您正在强制将$today和$close_date设置为字符串,甚至将其转换为无效的日期和时间错误,
本不应该出现。很高兴从答案中删除-1:)