-1

重複の可能性:
日付文字列を日付またはカレンダー オブジェクトに変換する方法は?

どうすればこのようなことができますか

GregorianCalendar cal = new GregorianCalendar("2012-08-02 12:04:03");

また

Calendar cal = Calendar.getInstance();
cal.setDateTime("2012-08-02 12:04:03");

:上記のコードスニペットは実際には不可能です。その動作をモックしたいと思います。

さらなる解明

「2012-08-02 12:04:03」のような日付と時刻の文字列があるとします。この情報を手動で月、年、日の文字列に分割し、整数に変換して set(Calendar.HOUR) などを呼び出すことなく、この情報を Calendar オブジェクトに取得する効率的な方法はありますか?

現在、年、月、時間、日などを入力として受け取るフォームがあり、それらを個別にカレンダー オブジェクトに渡していますが、"2012- 08-02 12:04:03"

4

3 に答える 3

1

オブジェクトを提供するSimpleDateFormatを使用する必要がありDateます。そのDateオブジェクトを使用すると、Calendar

于 2012-09-27T13:02:46.043 に答える
1
    String dateString=new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse("2012-08-02 12:04:03");
            Calender cal = Calender.getInstance();
            cal.setTime(new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(dateString).getTime());

parse メソッドが ParseException をスローするため、それをラップして catch を試してください。@ user714965が提供するリンクを調べてください

于 2012-09-27T13:05:13.467 に答える
0

.parse()メソッドを使用して、StringをDateオブジェクトに変換します。

String dateString=new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse("2012-08-02 12:04:03");

getInstance()は、抽象Calendarクラスのサブクラスの1つのインスタンスを作成します。

Calender cal = Calender.getInstance();

setTime()はDateオブジェクトを取ります:

cal.setTime(new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").fomat(dateString).getTime());

于 2012-09-27T13:15:28.773 に答える