我需要每天獲得姓氏的第一天。 我習慣了這樣的代碼:如何獲得上個月的第一天?
echo date('Ym01',strtotime('last month'));
但今日(三月30,2017),它返回這個月的第一天,而不是上個月。
我試過echo date('Y-m-d', strtotime('first day of last month'));
從this question,但它代替地返回1970-01-01
。
有人可以向我解釋爲什麼代碼返回這樣的日期?
我需要每天獲得姓氏的第一天。 我習慣了這樣的代碼:如何獲得上個月的第一天?
echo date('Ym01',strtotime('last month'));
但今日(三月30,2017),它返回這個月的第一天,而不是上個月。
我試過echo date('Y-m-d', strtotime('first day of last month'));
從this question,但它代替地返回1970-01-01
。
有人可以向我解釋爲什麼代碼返回這樣的日期?
這必須在舊版本的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;
?>
的連工作如果它不工作,那麼問題是您的服務器
'new date time()'中有一個空格。應該是'new datetime();'。 –
一個錯字大聲笑謝謝我編輯了我的答案 – Gert
我認爲有一個新的錯字'newdate'不能在一起。 –
我的產量,'2017-02-01',如預期? CentOS7 w/PHP5.4.16。你的系統時間設置是否正確? –
[no repro](https://3v4l.org/UImIZ),除非你使用*非常*舊的版本的PHP。 –
有一點要記住日期,如果它返回1970-01-01然後有沒有日期或你的格式搞砸 – Gert