首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Joda时间仿真PHP数据计算

用Joda时间仿真PHP数据计算
EN

Stack Overflow用户
提问于 2013-04-16 14:00:59
回答 1查看 429关注 0票数 2

我使用Joda时间库从LocalDate中减去一个月:

代码语言:javascript
复制
LocalDate date = new LocalDate(2013, 3, 31);
System.out.println(date.minusMonths(1));

其结果是2013-02-28,这正是我直觉所期望的,而且API接口也对此进行了记录。

如果减去月份使月中的日无效,则调整为该月份中的最后一个有效日。

但是,在我的当前项目中,我需要兼容一些现有的PHP代码,如下所示:

代码语言:javascript
复制
$date = new \DateTime('2013-03-31');
echo $date->sub(new \DateInterval('P1M'))->format('Y-m-d');

这里的结果将是2013-03-03年,即是“滚动”到下个月。

如何使用Joda时间实现同样的行为?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-16 14:14:54

PHP似乎减去了它在前一个月中发现的天数。这应该适用于Joda:

代码语言:javascript
复制
LocalDate date = new LocalDate(2013, 3, 31);
int numberOfDays = date.minusMonths(1).dayOfMonth().getMaximumValue();
System.out.println(date.minusDays(numberOfDays));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16039169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档