2

私はJavaの世界の初心者です。ファクトリ メソッド get インスタンス () で構成される抽象クラスである Java カレンダー クラスを学習および調査しています。日付を増減しようとしました。たとえば、現在の日付に 1 日を足して明日の日付を取得したり、1 日を引いて昨日の日付を取得したりします。 24時間を1日としています。これは、1 日の長さが 23 時間または 25 時間になる可能性があるサマータイム ゾーンに該当する場合、間違っている可能性があります。日付から日数を加算または減算する場合、日付の他のコンポーネント (月と年など) をローリングする必要があります。

私のクエリは以下のとおりです。クラスでは、日を足したり引いたりしようとしていました。アドバイスしてください、それは正しいアプローチですか、それともあなたがアドバイスする他のより良いアプローチはありますか.

    //Using Calendar to increment and decrement days from date in Java
     Date today = new Date(); 
    System.out.println("Today is " + toddMMyy(today)); 
    Calendar cal = Calendar.getInstance(); //adding one day to current date cal.add(Calendar.DAY_OF_MONTH, 1); 
    Date tommrrow = cal.getTime(); 
    System.out.println("Tomorrow will be " + toddMMyy(tommrrow)); //substracting two day from date in Java
    cal.add(Calendar.DAY_OF_MONTH, -2); 
Date yesterday = cal.getTime(); System.out.println("Yesterday was " + MMyy(cal.getTime()));
4

1 に答える 1

1

あなたは正しいです。これは、Date ミリ秒演算を使用するとどうなるかです

     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
     Date d1 = df.parse("2013-03-30 12:00");
     Date d2 = new Date(d1.getTime() + 24 * 3600 * 1000);  // +24 hrs
     System.out.println(df.format(d2));

出力

2013-03-31 13:00
于 2013-04-05T03:15:12.157 に答える