2017-03-30 88 views
0

我需要每天獲得姓氏的第一天。 我習慣了這樣的代碼:如何獲得上個月的第一天?

echo date('Ym01',strtotime('last month')); 

但今日(三月30,2017),它返回這個月的第一天,而不是上個月。

我試過echo date('Y-m-d', strtotime('first day of last month'));this question,但它代替地返回1970-01-01

有人可以向我解釋爲什麼代碼返回這樣的日期?

+0

我的產量,'2017-02-01',如預期? CentOS7 w/PHP5.4.16。你的系統時間設置是否正確? –

+1

[no repro](https://3v4l.org/UImIZ),除非你使用*非常*舊的版本的PHP。 –

+0

有一點要記住日期,如果它返回1970-01-01然後有沒有日期或你的格式搞砸 – Gert

回答

1

這必須在舊版本的PHP

<?php 

$lastmonth= new datetime(); 
//formating the date 
$lastmonth=$lastmonth->format("Ym01"); 
//subtracting 1 month to make it last month 
$lastmonth=date('Ym01',strtotime($lastmonth . '-1 month')); 
echo $lastmonth; 

?> 

的連工作如果它不工作,那麼問題是您的服務器

+0

'new date time()'中有一個空格。應該是'new datetime();'。 –

+0

一個錯字大聲笑謝謝我編輯了我的答案 – Gert

+0

我認爲有一個新的錯字'newdate'不能在一起。 –

相關問題