将 Timestamp 对象的值复制到另一个对象
Copying a Timestamp object's value to another object
我在 Java.sql.Timestamp 对象(变量-> confirmedDeliveryDate)中有一个日期,我想创建一个不同的对象并向其添加几天。我将 ts 创建为不同的时间戳变量,并使用了以下逻辑。我能够成功地增加天数。但是一旦 ts 更新为新时间,confirmedDeliveryDate 也会更新为新日期。当我为 ts 创建一个新对象时,为什么要更新 confirmedDeliveryDate。并请提出相同的解决方案。
Timestamp ts = new Timestamp(0L);
ts=confirmedDeliveryDate;
Calendar cal = Calendar.getInstance();
cal.setTime(ts);
cal.add(Calendar.DAY_OF_WEEK, 5);
ts.setTime(cal.getTime().getTime());
ts = new Timestamp(cal.getTime().getTime());
通过编码
ts=confirmedDeliveryDate;
您丢弃了新创建的时间戳并将其替换为对 confirmedDeliveryDate
的引用
所以现在 ts 和 confirmedDeliveryDate 是 同一个 并且通过在其中一个上调用 setTime,两个变量名称的值(引用 相同的对象) 会改变。
这样试试:
Calendar cal = Calendar.getInstance();
cal.setTime(confirmedDeliveryDate );
cal.add(Calendar.DAY_OF_WEEK, 5);
Timestamp ts = new Timestamp(cal.getTime().getTime());
我在 Java.sql.Timestamp 对象(变量-> confirmedDeliveryDate)中有一个日期,我想创建一个不同的对象并向其添加几天。我将 ts 创建为不同的时间戳变量,并使用了以下逻辑。我能够成功地增加天数。但是一旦 ts 更新为新时间,confirmedDeliveryDate 也会更新为新日期。当我为 ts 创建一个新对象时,为什么要更新 confirmedDeliveryDate。并请提出相同的解决方案。
Timestamp ts = new Timestamp(0L);
ts=confirmedDeliveryDate;
Calendar cal = Calendar.getInstance();
cal.setTime(ts);
cal.add(Calendar.DAY_OF_WEEK, 5);
ts.setTime(cal.getTime().getTime());
ts = new Timestamp(cal.getTime().getTime());
通过编码
ts=confirmedDeliveryDate;
您丢弃了新创建的时间戳并将其替换为对 confirmedDeliveryDate
所以现在 ts 和 confirmedDeliveryDate 是 同一个 并且通过在其中一个上调用 setTime,两个变量名称的值(引用 相同的对象) 会改变。
这样试试:
Calendar cal = Calendar.getInstance();
cal.setTime(confirmedDeliveryDate );
cal.add(Calendar.DAY_OF_WEEK, 5);
Timestamp ts = new Timestamp(cal.getTime().getTime());