我想在日期上加上一个月...
但是我想将结果分配给新变量而不更改原始日期。
我想以标准方式执行此操作,似乎正在使用Calendar.add(),但是该方法更改了用于计算的Calendar对象。
因此,我想知道这里要做的“适当”的事情是-我应该使用Object.clone()并投射回Calendar吗?本能地看似有点可怕和错误。或者,我应该使用以下语法从原始对象创建一个新的Calendar对象:
Calendar newCalendar = Calendar.getInstance();
newCalendar.setTime(originalCalendar.getTime());
似乎也太可怕了……肯定必须有一种更简单的方法-请有人告诉我我缺少了一些东西!
(...但请不要告诉我使用Joda Time或Java 8-由于项目限制,我不能这样做。)
最佳答案
日历不是一个漂亮的库,因此您不应该期望它如此。
AFAIK,Java 8将具有一个基于JodaTime的新日期/时间库。 ;)
请不要告诉我使用Joda Time-由于项目限制,我不能
在这种情况下,只需学会使用日历及其怪癖即可。
关于java - 如何将Calendar.add()结果分配给新的Calendar对象(在Java 7中)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13841949/