2014-03-13 140 views
0

我需要执行一些日期操作而不影响原始日期。如果我这样做:将一个日期字段分配给另一个日期字段

Date tempDate = new Date(); 
tempDate = youthMember.getDob(); 
CalendarUtil.addMonthsToDate(tempDate, 96); 

然后tempDate和youthMember.getDob()都增加了96个月。我尝试过setValue(),setDate()和搜索网络。

您的协助将不胜感激。

+0

分配一个新的日期只是把它扔掉下一行,并在未来“tempDate”,而不是一些有意义的命名日期96个月都是代码异味给我。 –

回答

1

变化tempDate初始化到这一点(它会创建新的实例,并同时将其初始化为youthmember的DOB)

Date tempDate = new Date(youthMember.getDob().getTime()); 

,并删除这个(因为你是再引用tempDate到youthMember的DOB)

tempDate = youthMember.getDob(); 
+0

谢谢你Jigar。 – Glyn

+0

不客气 –

3

您有一个日期对象指向另一个,所以它们都返回相同的值。

Date tempDate = new Date(youthMember.getDob().getTime()); 
CalendarUtil.addMonthsToDate(tempDate, 96); 
+0

谢谢安德烈。 – Glyn

相关问题