解决PHP获取之前月份缺失的问题

最近在为公司移动端小哥写接口的时候,发现这样的一个问题,在获取当前月份前面12月份的时候,会缺少其中某个月份。

解决方法:在做减去月份的基础上再做个减去一天的处理即可

具体说明如下:

php提供的strtotime方法可以将特定字符串转换为时间戳格式,当然也可以在当前时间的基础上通过追加条件,来获取特定时间的时间戳,如下图所示:

对应的链接为:http://www.w3school.com.cn/php/func_date_strtotime.asp

 

以下是我依据这个方法编写的具体代码:

循环减去12个月份,然后就可以得到当前月份之前的12个月份了,但结果却和想象当中的不一样:(后面那个数值为随机数暂且不用关心)

尼玛 我的2月份去哪里???

难道是我循环写错了?不行我要查到原因

对循环变量i进行输出,发现并没有什么问题

那就奇怪了,算了,咱手动编写尝试下:

结果还是没有我需要的2月份…

然后我尝试在原来的基础上进行减去一天的操作,结果我的2月份回来了(*^▽^*)

非常怀疑这个问题是不是跟二月份的天数有关有关,然后就去查了下2017年2月份的情况,果然二月份只有28天

作为程序猿就得有“追本溯源”的精神,然后我把时间修改为前三年,问题又出现了:

同样的2015年也缺少2月份,再去查询日历,得到的结果也是只有28天

看来还是需要做减去一天的处理

包括2015年的2月份和2017年的2月份都回来了,看来以后在对日期进行计算的时候,得多长个心眼

到此结束。


如果还有什么不明白的地方,欢迎加我QQ进行咨询,请注明技术咨询

本人QQ:980569038

TP集成支付宝群:594955172

 

若该文章对您有一定帮助,欢迎打赏

(点击图片可放大)

本人原创,转载请注明出处

http://www.itinfor.cn/archives/1535

Tagged

发表回复

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