php 中的比较错误,以解决日期问题
Error in comparison in php, to solve question with dates
我正在尝试使用 php 和 mysql 做一个合同管理应用程序,我对日期有一些疑问。
我需要知道今天和合同中具体日期之间的时间,或者如果少于一个月,它应该显示剩余天数..
问题是,通过比较了解合同结束时间是过去还是将来,似乎行不通!
link 查看代码:link to project
$hoje = date_create();
$fim = '2022-11-11';
$fim_data = date_create($fim);
$diff = date_diff( $hoje, $fim_data );
$meses = (($diff->format('%y')*12)+$diff->format('%m'));
$dias = $diff->days;
var_dump($fim < $hoje);
if($fim < $hoje) {
$result = "Contract has ended";
} elseif($meses >=1 ) {
$result = $meses . " months";
echo '<br>';
} else {
$result = $dias . " days";
};
echo '<br>';
echo $result;
您正在比较字符串与日期对象
替换
if($fim < $hoje) {
有
if($fim_data < $hoje) {
使用 Felippe Duarte 的解决方案更正了代码
$hoje = date_create();
$fim = '2018-11-11';
$fim_data = date_create($fim);
$diff = date_diff( $hoje, $fim_data );
$meses = (($diff->format('%y')*12)+$diff->format('%m'));
$dias = $diff->days;
var_dump($fim_data < $hoje);
if($fim_data < $hoje){$result = "não aplicavel";}
elseif($meses >=1 ){
$result = $meses . " meses";
echo '<br>';}
else{
$result = $dias . " dias";};
echo '<br>';
echo $result;
我正在尝试使用 php 和 mysql 做一个合同管理应用程序,我对日期有一些疑问。
我需要知道今天和合同中具体日期之间的时间,或者如果少于一个月,它应该显示剩余天数..
问题是,通过比较了解合同结束时间是过去还是将来,似乎行不通!
link 查看代码:link to project
$hoje = date_create();
$fim = '2022-11-11';
$fim_data = date_create($fim);
$diff = date_diff( $hoje, $fim_data );
$meses = (($diff->format('%y')*12)+$diff->format('%m'));
$dias = $diff->days;
var_dump($fim < $hoje);
if($fim < $hoje) {
$result = "Contract has ended";
} elseif($meses >=1 ) {
$result = $meses . " months";
echo '<br>';
} else {
$result = $dias . " days";
};
echo '<br>';
echo $result;
您正在比较字符串与日期对象
替换
if($fim < $hoje) {
有
if($fim_data < $hoje) {
使用 Felippe Duarte 的解决方案更正了代码
$hoje = date_create();
$fim = '2018-11-11';
$fim_data = date_create($fim);
$diff = date_diff( $hoje, $fim_data );
$meses = (($diff->format('%y')*12)+$diff->format('%m'));
$dias = $diff->days;
var_dump($fim_data < $hoje);
if($fim_data < $hoje){$result = "não aplicavel";}
elseif($meses >=1 ){
$result = $meses . " meses";
echo '<br>';}
else{
$result = $dias . " dias";};
echo '<br>';
echo $result;