php strtotime引起的错误

今天需要统计上个月的一个数据,要获取上个月的开始时间和结束时间,本来想很简单

date("Y-m-01",strtotime("-1 month"));

一脸懵逼,后面就自己实现了这个功能

    $month = date('m');
    $year = date('Y');
    if ($month == '1') {
        $preMonth = '12';
        $preYear = $year - 1;
    }else{
        $preMonth = $month -1;
        $preYear = $year;
    }
    $startTime = date('Y-m-d 00:00:00', strtotime("{$preYear}-{$preMonth}-01"));
    $endTime = $preYear."-".$preMonth."-".date('t', strtotime($startTime))." 23:59:59";

date ()
a: “am”或是”pm” 
A: “AM”或是”PM” 
d: 几日,两位数字,若不足则补零;从”01″至”31″ 
D: 星期几,3个英文字母,如:”Fri” 
F: 月份,英文全名,如:”January” 
h: 12小时制的小时,从”01″至”12″ 
H: 24小时制的小时,从”00″至”23″ 
g: 12小时制的小时,不补零;从”1″至”12″ 
G: 24小时制的小时,不补零;从”0″至”23″ 
j: 几日,不足不被零;从”1″至”31″ 
l: 星期几,英文全名,如:”Friday” 
m: 月份,两位数字,从”01″至”12″ 
n: 月份,两位数字,不补零;从”1″至”12″ 
M: 月份,3个英文字母;如:”Jan” 
s: 秒;从”00″至”59″ 
S: 字尾加英文序数,两个英文字母,如:”21th” 
t: 指定月份的天数,从”28″至”31″ 
U: 总秒数 
w: 数字型的星期几,从”0(星期天)”至”6(星期六)” 
Y: 年,四位数字 
y: 年,两位数字 
z: 一年中的第几天;从”1″至”366″

strtotime() 时间名词: 
年year 复数years 
月month 复数months 
周week 复数weeks 
日day 复数days 
时hour 复数hours 
分second 复数seconds 
秒minute 复数minutes 
上一个last 
下一个next 
一月January 
二月February 
三月March 
四月April 
五月May 
六月June 
七月July 
八月August 
九月September 
十月October 
十一月November 
十二月December 周一 Monday 周二 Tuesday 周三 Wednesday 周四 Thursday 周五 Friday 周六 Saturday 周天 Sunday

后面再网上找到了一篇文章, 讲解这个问题的 http://www.laruence.com/2018/07/31/3207.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注