我想在日期中添加一个月...
但我想将结果分配给一个新变量而不更改原始日期。 我想以标准方式执行此操作,这似乎是使用 Calendar.add() 但该方法更改了用于计算的 Calendar 对象。
所以我想知道这里要做的“正确”事情是什么 - 我应该使用 Object.clone() 并转换回日历吗?本能地这似乎有点可怕和错误。或者,我应该使用如下语法从原始日历对象创建一个新的日历对象:
Calendar newCalendar = Calendar.getInstance();
newCalendar.setTime(originalCalendar.getTime());
看起来也很可怕......肯定有一个更简单的方法 - 请有人告诉我我错过了一些东西!
(...但请不要告诉我使用 Joda Time 或 Java 8 - 由于项目限制我不能。)
最佳答案
日历不是一个漂亮的库,所以你不应该期望它是一个漂亮的库。
据我所知,Java 8 将有一个基于 JodaTime 的新日期/时间库。 ;)
please don't tell me to use Joda Time - I can't due to project constraints
在这种情况下,只需学会享受使用日历及其怪癖即可。
关于java - 如何将 Calendar.add() 结果分配给新的 Calendar 对象(在 Java 7 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13841949/