Apo*_*ica 27
我一开始误解了你的问题.您没有像比较说的那样在比较中使用日期对象,而是使用日期的字符串表示(由...创建date).
将日期的几乎所有字符串表示与当前时间进行比较很容易:
$now = time();
$date = '2015/03/12'; #could be (almost) any string date
if (strtotime($date) > $now) {
#$date occurs in the future
} else {
#$date occurs now or in the past
}
Run Code Online (Sandbox Code Playgroud)
将日期字符串与当前日期进行比较只是稍微复杂一些.这是一种方法:
$today_start = strtotime('today');
$today_end = strtotime('tomorrow');
$date = '2015/03/12'; #could be (almost) any string date
$date_timestamp = strtotime($date);
if ($date_timestamp >= $today_end) {
#$date occurs after today
} elseif ($date_timestamp < $today_start) {
#$date occurs before today
} else {
#$date occurs today
}
Run Code Online (Sandbox Code Playgroud)
不是time用来将当前时间缩短到第二个,而是计算当前日期的两个中午的时间戳.然后你比较那些.
有更聪明的方法可以做到这一点(比如比较YYYY/MM/DD日期和今天的表示),但是这个例子很好地构建了第一个.
bwo*_*ebi 19
比较时间戳:
if (strtotime($numerical." ".$day." of ".date("F")) < time()) {
// older
} else {
// newer
}
Run Code Online (Sandbox Code Playgroud)
这可以strtotime()返回自1970年1月1日以来的秒数time().在PHP中,您可以轻松地比较整数...