<?php
date_default_timezone_set('America/Los_Angeles');
$urlYear = '2013';
$currentYear = date('Y');
$systemDate = date('d-m-Y');
if ( ($systemDate >= '01-06-'.$currentYear) || ($currentYear < $urlYear) ) {
echo 'Here are your results <br>';
echo 'System Date '.$systemDate.' '.$currentYear.' '.$urlYear;
} else {
echo 'No results for you';
}
?>
我想要实现的目标是:
(If the current date as formatted by me is >= '01-06'-year of the current year)
OR
(if the $currentYear < $urlYear)
//echo 'Here are your results';
但我似乎对所有事情都是如此。你能帮忙吗?
答案 0 :(得分:1)
您可以使用strtotime,
将日期转换为unix时间戳后比较日期if ( (strtotime($systemDate) >= strtotime('01-06-'.$currentYear)) || ($currentYear < $urlYear) ) {
echo 'Here are your results <br>';
echo 'System Date '.$systemDate.' '.$currentYear.' '.$urlYear;
} else {
echo 'No results for you';
}
<强> DEMO. 强>
答案 1 :(得分:1)
比较时格式化日期字符串 YYYYmmdd ,它将像增量 INT 。有了这个,比较会更容易。
$systemDate = date('Ymd');
希望这有帮助。
答案 2 :(得分:1)
为什么不使用日期创建DateTime对象并比较这些
$UrlYear = new DateTime('2013' . '-01-01');
$CurrentYear = new DateTime(date('Y') . '-01-01');
$SystemDate = new DateTime();
if ( ($SystemDate >= $CurrentYear) || ($CurrentYear < $UrlYear) ) {
echo 'Here are your results <br>';
echo 'System Date '. $SystemDate->format('d/m/Y') .' '. $CurrentYear->format('Y') .' '. $UrlYear->format('Y');
} else {
echo 'No results for you';
}
答案 3 :(得分:0)
使用时间戳格式比较日期时间,使用mktime函数将日期时间转换为时间戳格式
答案 4 :(得分:0)
您正在以词汇方式比较字符串。这不适用于格式化的日期字符串。
将所有内容转换为unix时间戳(UTC)并比较数字或使用date_diff
函数
答案 5 :(得分:0)
您可以使用日期进行比较,但它应采用Y-m-d格式:
$systemDate = date( 'Y-m-d' );
$targetDate = date( 'Y-m-d', mktime( 0, 0, 0, 6, 1 ) );
if ( $systemDate >= $targetDate ) {
}