2012-04-23 14 views
-1

我想使用此方法將給定源日期的字段設置爲給定的目標日期。java set使用日曆的靜態方法中的日期字段

private static void setFields(final Date source, 
    final Date target, 
    final int ... fields) 
{ 
    final Calendar sourceCalendar = Calendar.getInstance(); 
    sourceCalendar.setTime(source); 

    final Calendar targetCalendar = Calendar.getInstance(); 
    targetCalendar.setTime(target); 

    for(int field : fields) 
     targetCalendar.set(field, sourceCalendar.get(field)); 
} 

未設置目標日期的分鐘。 如果我不想通過使用中斷參考,我該如何設置它。

target = targetCalendar.getTime(); 
+0

糟糕。我的錯。 – blackcompe 2012-04-24 01:45:14

回答

0

要改變target日期值在targetCalendar,使用:

target.setTime(targetCalendar.getTime().getTime()); 

假設這是你問的是什麼,你的問題問得有點不清楚。

+0

謝謝!哦,我的,那麼容易。如果日期和日曆已啓動,則會發生這種情況。如果我爲日曆提供日期並且可以設置字段,那麼我認爲應該像所有java文檔所說的那樣通過它來操縱日期。之後不使用Date.setTime(long)。 – djmj 2012-04-24 00:16:08