-2

入力として、今世紀の初め (つまり 2000 年の初め) から経過した秒数として、現在の時刻が提供されています。入力時刻が対応する日付を計算する必要があります。必要な出力は、yyyy が年、mm が月、dd が日付に対応する yyyymmdd 形式の整数であることに注意してください。

注:配列の概念を使用しない場合

例: currDate(122352353)=20031117 (2003 年 11 月 17 日に相当)。

4

1 に答える 1

0
long timeInMilliSecs = 122352353000L;

    Calendar cal = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("MMM dd yyyy");
    try {
        cal.setTime(sdf.parse("Jan 01 2000"));
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }// all done
    long d = cal.getTimeInMillis() + timeInMilliSecs;
    cal.setTimeInMillis(d);
    System.out.println(cal.get(Calendar.YEAR) + "" + (cal.get(Calendar.MONTH)+1) + "" + cal.get(Calendar.DATE));

常に timeinmillis で動作します。これにより、任意の日付を簡単に変換できます。したがって、最初に 2000 年の日付をミリ秒に変換し、ミリ秒に変換した後に指定された日付 (この場合は 122352353) を追加します。それだ!ミリ時間を日付に変換するだけです。

于 2013-09-21T06:58:05.703 に答える