这是我的确切代码:
$date = date('l, F j');
$start = $row['date']; // equal to Monday, April 15
$interval = $row['interval']; // this is equal to 7
$end = date('l, F j', strtotime($start ."+$interval days"));
if ($end < $date) {
// do this
} else {
//yada yada yada
}
我不知道我是否使用变量$interval
错误或者日期strtotime +7天不能用于此日期格式。
我想保留日期格式,但如果我必须改变那么我想我必须这样做。
问题是我可以使用此日期格式并仍然添加$interval
天数吗?
当$end
日期小于$ date时,它应该执行代码的一部分而不执行该部分。
任何帮助都会很棒。感谢。
答案 0 :(得分:3)
如果那是你的确切代码,那么第一行的date(l, F j)
就是语法错误,而且这段代码永远不会按原样运行。
您的问题是您将时间值转换为STRINGS,然后进行字符串比较。
e.g。
('December 1' < 'February 15')
将为TRUE,因为D
位于F
之前。你需要比较strtotime()产生的原始时间戳,这是一个简单的整数:
if (strtotime($start) < strtotime($end)) {
start is less than end
}