如何比较文本文件中的日期与今天的日期

时间:2018-01-19 23:43:51

标签: php date comparison

<?php
$myFile = strtolower('date.txt');
$lines = file($myFile);     
$expire_date = $lines[0];



$date = strtotime($expire_date);
//$date->format("y,m,d");
$now = new DateTime();
$now->format("y,m,d");

if($now < $date) {
    echo 'Have not reached date yet.';
}else{
echo 'Date in file is old';
}
?>

我的date.txt文件的内容 -

2018,2,18(这是第1行)

测试(这是我文件中的第2行)

我想将2018,2,18文件中的第1行与当前日期进行比较。代码一直说明日期已经过时了。是因为第1行虽然会返回日期,但实际上是数组还是不是日期?

1 个答案:

答案 0 :(得分:1)

您的FALSE正在返回time()。我已在日期字符串中用短划线替换了逗号。还要考虑我正在使用$myFile = strtolower('date.txt'); $lines = file($myFile); $date = $lines[0]; $date = str_replace(',', '-', $date); $date = strtotime($date); if(time() < $date) { echo 'Have not reached date yet.'; }else{ echo 'Date in file is old'; } 函数来返回当前的Unix时间戳。我认为您文件中的日期是UTC日期。

$myFile = strtolower('date.txt');
$lines = file($myFile);     
$date = $lines[0];
$date = date_create_from_format('Y,m,d', $date);
$date = date_format($date, 'Y-m-d');
$date = strtotime($date);

if(time() < $date) {
    echo 'Have not reached date yet.';
}else{
    echo 'Date in file is old';
}

或者您也可以从文件格式中创建日期:

.