35

私は使っている

DateFormat dateFormat = 
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
Date date = new Date();
String fromdate = dateFormat.format(date);

現在の日付を取得するには、7 日前の日付を取得するにはどうすればよいですか。たとえば、今日が 2013 年 6 月 7 日の場合、2013 年 5 月 31 日を日付フォーマッタで定義されているのと同じ形式で取得するにはどうすればよいですか?

アップデート

解決策を得ました:

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");

        Date date = new Date();
        String todate = dateFormat.format(date);

        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.DATE, -7);
        Date todate1 = cal.getTime();    
        String fromdate = dateFormat.format(todate1);
4

6 に答える 6

58

カレンダークラスを使用できます:

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -7);
System.out.println("Date = "+ cal.getTime());

しかし、@Sean Patrick Floyd が言及したように、Joda -timeは Date に最適な Java ライブラリです。

于 2013-06-07T10:36:13.790 に答える
21

またはJodaTimeを使用します。

DateTime lastWeek = new DateTime().minusDays(7);
于 2013-06-07T10:36:53.500 に答える
10

Java には、 Java 8にバンドルされたJava.timeという非常に優れた組み込みの日付ライブラリがあります。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Foo {
    public static void main(String[] args) {

        DateTimeFormatter format =
            DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'");

        LocalDateTime now = LocalDateTime.now();
        LocalDateTime then = now.minusDays(7);

        System.out.println(String.format(
            "Now:  %s\nThen: %s",
            now.format(format),
            then.format(format)
        ));
        /*
            Example output:
                Now:  2014-05-09T14:51:48Z
                Then: 2014-05-02T14:51:48Z
         */
    }
}
于 2014-05-09T18:52:27.653 に答える
9

カレンダー API を使用します。

// get Calendar instance
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());

// substract 7 days
// If we give 7 there it will give 8 days back
cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH)-6);

// convert to date
Date myDate = cal.getTime();

お役に立てれば。楽しんで!

于 2013-06-07T10:40:58.677 に答える
1

すべての日付関連の機能については、Joda ライブラリの使用を検討する必要があります。Java の日付 API の設計は非常に貧弱です。Joda は非常に優れた API を提供します。

于 2013-06-07T10:38:07.043 に答える