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

答えて

0

targetCalendar、使用価値にtarget日付を変更するには:

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

をそれはあなたが求めていたものだと仮定すると、あなたの質問は少し不明でした。

+0

ありがとう!ああ、そう簡単。これは、DateとCalendarがf *** upの場合に発生します。私はカレンダーに日付を提供し、フィールドを設定することができます私は日付をすべてのJavaのドキュメントと言うようにそれを操作する必要がありますと思う。その後、Date.setTime(long)は使用しないでください。 – djmj

関連する問題