var_dump(date('Y-m-d'));
var_dump(date('Y-m-d', strtotime('- 1 day')));
var_dump(date('Y-m-d', strtotime('+ 2 day')));
var_dump(date('Y-m-d', strtotime('- 1 week')));
var_dump(date('Y-m-d', strtotime('+ 2 week')));
打印出来的结果是:
string(10) \公众2018-10-08\"大众
string(10) \"大众2018-10-11\"大众
string(10) \"大众2018-10-02\"大众
string(10) \公众2018-10-23\"大众
上面的这些都没有问题,毕竟day和week的韶光是固定的,但是month就不一样了,有大月和小月
var_dump(date(\"大众Y-m-d\"大众, strtotime(\公众-1 month\"大众, strtotime(\"大众2018-05-31\公众))));
打印出来的结果是:
string(10) \公众2018-05-01\公众
!
!
!
2018-04-30 ?为什么不对?
那上面的 2018-05-31 举例子, -1 month 该当是 2018-04-31 ,但是4月没有31号, 以是结果便是 2018-05-01
如果要获取 上一个月末了一天 ,
可以利用 last day of -1 month 来获取
var_dump(date(\"大众Y-m-d\"大众, strtotime(\公众last day of -1 month\公众, strtotime(\"大众2018-05-31\"大众))));
打印结果是:
string(10) \"大众2017-04-30\公众
为了避免 strtotime 引起的问题,还可以利用 mktime 来办理一些问题,比如说:
每月末了一天末了一秒须要汇总一下当月的某些业务指标,发送给老板。
那么开始韶光和结束韶光,就可以这样:
mktime的语法是这样的: mktime(hour,minute,second,month,day,year);
$startTime = date('Y-m-d H:i:s', mktime(0, 0, 0, date('m'), date('d'), date('Y')));
$endTime = date('Y-m-d H:i:s', mktime(23, 59, 59, date('m'), date('d'), date('Y')));
学习记录之用,整理自网络。