java - 上个月的开始日期

标签 java date calendar

我想计算上个月的开始日期。我已经提到了this post我编写的代码片段如下:

Calendar calendar = getCalendar(new Date());
calendar.set(Calendar.DAY_OF_MONTH-1,
        calendar.getActualMinimum(DAY_OF_MONTH));
calendar = getTimeToBeginningOfDay(calendar);

return calendar.getTime();

有了这个我可以在上个月月底之前获取日期。帮助我获得开始日期 如有任何帮助,我们将不胜感激。

最佳答案

您永远不应该对 Calendar.DAY_OF_MONTH 等字段常量进行数学运算。你想做的是:

Calendar calendar = getCalendar(new Date());
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar = getTimeToBeginningOfDay(calendar);

return calendar.getTime();

关于java - 上个月的开始日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12398246/

相关文章:

php - 将月份和日期与当前日期进行比较

Django 日期过滤器在模板中不起作用

iphone - 检索 EKCalendar 的帐户信息

ios - iPad 的日历控件

java - 将 UTC 中的 ISO 8601 字符串转换为本地时间 - JodaTime 添加与本地时区相反的时间

java - 电话应用程序 : item cannot be resolved or is not a field

javascript - 如何在 JavaScript 中将长日期值转换为字符串格式

Java:迭代开始和结束日期,最佳实践?

java - 在jar文件目录中创建文件夹

java - JSqlParser 如何拆分一个表达式