所以我有一个存储日期时间值的数据库。我想知道日期是否已经过去了 - 我不关心这个例子中的时间部分,只关注日期。
所以我现在有以下代码
//this is the current date
$today = strtotime(date("Y-m-d"));
//this is the date from the database
$gameDate = strtotime($rec[0])
if (strtotime($rec[0]) < $today) {
我觉得我不是以最公认的方式做这件事,但我的大脑因太多的数据而受伤,我希望有人可以给我一个关于'正确'方法的指针。
答案 0 :(得分:1)
假设您只关心Date
部分,而不关注time
部分,因为2016-01-01 14:00:00
和2016-01-01 15:00:00
将被视为同一天,而不是过去,您可以使用以下内容:
$dateFromDatabase = new DateTime('2016-05-23 17:00:00'); // $rec[0] in your case
$current = new DateTime();
$difference = $current->diff($dateFromDatabase);
if ($difference->format('%R') === '-') {
echo 'Date is in the past';
}
任何问题都让我知道。