日期计算的问题
来源:互联网 发布:网络如何发布广告赚钱 编辑:程序博客网 时间:2024/06/06 00:57
最近工作上遇到的问题:1月1日的下一个月是2月1日,1月31日的下一个月是几号呢?
针对这个问题,我的需求自然是2月28日或2月29日,原先想的简单,就是加一个月:
<?php$d = new DateTime('2017-01-31');$d->add(new DateInterval('P1M'));echo $d->format('Y-m-d'); // 2017-03-03?>
结果跑到3月份去了,php的DateTime并不会产生想要的结果。接下来自然要去优化它(思路是月份加2,日期设置成1号,再减一天,就是下个月最后一天了):
$d = new DateTime('2017-01-31');$d->setDate($d->format('Y'), $d->format('n') + 2, 1);$d->sub(new DateInterval('P1D'));echo $d->format('Y-m-d') . PHP_EOL; // 2017-02-28
已经得到想要的结果过了,大功告成!
注意:当遇到11月、12月时月份加2就是13、14了,setDate会相应的自动增加年份的
阅读全文
0 0
- 日期计算的问题
- 关于日期计算的问题
- 关于日期计算的问题
- java的日期计算问题
- NSDate的计算问题、日期计算、时区问题、NSTimer
- NSDate的计算问题,日期计算,时区问题,NSTimer
- NSDate的计算问题,日期计算,时区问题,NSTimer
- NSDate的计算问题、日期计算、时区问题、NSTimer
- asp中计算日期差的问题
- Java中计算日期的问题
- js计算日期相差天数的问题
- 关于根据日期计算天数的问题
- 1000 日期计算问题
- sicily--1814. 日期计算问题
- Java日期计算溢出问题
- sicily 1814.日期计算问题
- Sicily 1814日期计算问题
- Sicily 1814. 日期计算问题
- PYTHOn 各种乱码问题解决
- swift 中下划线
- POJ 3255 RoadBlocks(次短路+dijkstra变形)
- 有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别
- 向eclipse中添加user library的方式
- 日期计算的问题
- MySQL列转行统计数据
- CDH Disk Balancer 磁盘数据均衡
- Android studio gradle 版本及 gradle plugin版本,Android studio 连接夜神模拟器的命令
- HUBUST 1186 青蛙过河(dp)
- 安卓的权限问题
- Centos 下安装php7以及其扩展
- Java实现-子集
- Effective C++第三章-资源管理-1