php得到`date(“Ymd”) - 1`

时间:2012-08-27 17:30:05

标签: php date

我存储了一些error_log的日期作为他们的名字。比如20120827.txt

现在我写一些php脚本来查看error_log

我需要做一些判断:

if(file_exists(date("Ymd").'.txt')){ 
   $html = file_get_contents(date("Ymd").'.txt');
}else{
   $html = file_get_contents((date("Ymd")-1).'.txt');//load yesterday's `error_log`.
}

但这不适合像20120801.txt这样的日期,怎么做date("Ymd")-1

我尝试了date("Ymd", (strtotime($date) . " -1 day"));// return:19700101

4 个答案:

答案 0 :(得分:4)

如果你想要昨天的日期,你可以做

date("Ymd", time() - 3600*24);

或者您可以使用DateTime对象:

$date = new DateTime();
$date->modify("-1 day");
echo $date->format("Ymd");

答案 1 :(得分:2)

试试这个...最简单的......

date('Ymd',strtotime( "yesterday" ));

答案 2 :(得分:0)

您可以使用PHP的mktime来获得非常精确的日期:

date('Ymd', mktime(0, 0, 0, date('m'), date('d') - 1, date('Y')));

答案 3 :(得分:0)

你需要像这样使用strtotime

date('Ymd', strtotime('-1 day'));

以下是包含输出的粘贴:http://codepad.org/iD7M9VN7