<?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行虽然会返回日期,但实际上是数组还是不是日期?
答案 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';
}
或者您也可以从文件格式中创建日期:
.