最近在为公司移动端小哥写接口的时候,发现这样的一个问题,在获取当前月份前面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
若该文章对您有一定帮助,欢迎打赏
(点击图片可放大)
本人原创,转载请注明出处