carbon获取上个月的时间,解决时间bug问题

追梦小窝 2019-05-31 15:02:25 113浏览 0条评论
首页/ 正文
分享到: / / / /

刚好laravel框架里面自带这个包,name用起来也很方便,在网上随便搜索了一下,发现了如何获取上个月的起始时间。

然后就简单的测试了一下,就使用了,结果今天发现了bug,获取的上个月时间只能回到30天以前的时间,如果这个月

刚好有31天的话,就会出现此bug,下面这个是我最开始查找的资料,资料地址:https://blog.csdn.net/hu_feng903/article/details/81874108


//上个月第一天
Carbon::now()->subMonth()->firstOfMonth()

//上个月最后一天
Carbon::now()->subMonth()->lastOfMonth()

//这个月第一天
Carbon::now()->firstOfMonth()

上面的代码只能获取当前月的30天前的时间,所以获取上个月的时候会出现bug

于是我又仔细研究了一下发现这样写才会不出现上面的问题,


// 获取本月的第一天
 $start = new Carbon('first day of this month');
$start = $start->startOfMonth();

//上个月第一天
$firstOfMonth = new Carbon('first day of last month');
 $firstOfMonth = $firstOfMonth->startOfMonth();

//上个月最后一天
$lastOfMonth = new Carbon('last day of last month');
$lastOfMonth = $lastOfMonth->endOfMonth();

这样直接实例化上月的第一天的当前时间,然后在运行一下startOfMonth()、endOfMonth();就可以完美解决困扰了

最后修改:2020-06-20 12:56:02 © 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
上一篇

发表评论

说点什么吧~

评论列表

扫一扫支付