2

Java サーブレットで驚きの結果が得られています。次のように、jsp からサーブレットに入力パラメーター (日付) を渡しています。

 <input name='date_allow_empty' type='text' value='' class='date picker' />

日付ピッカーはこちら: http://jsfiddle.net/cBwEK/

私が選択したとしましょう:05-04-2012、この日付をサーブレットに渡すと、次のようになります:

1333620371 

しかし、サーブレットで 05-04-2012 を取得する必要があります

Servlet:

  String t= request.getParameter("date_allow_empty");

  out.println(t); //displaying 1333620371 in stead of 05-04-2012

このタイプの結果がサーブレットに表示されるのはなぜですか?

4

2 に答える 2

3

その値 は1333620371、エポック (1970 年 1 月 1 日) からの秒数です。そこから Java を作成するには、エポックからのミリ秒を期待するコンストラクターをDate使用します(つまり、1,000 を掛けます)。Date(long)

Date dt = new Date(value * 1000);

として値を取得している場合は、最初に値を取得するString必要があります。parseLongたとえば、次のようになります。

Date dt = new Date(Long.parseLong(value, 10) * 1000);
于 2012-04-30T10:19:43.537 に答える
0

1970 年 1 月 1 日 00:00:00 GMT からの秒数を取得しています。http: //docs.oracle.com/javase/6/docs/api/java/util/Date.html#getTimeを参照してください。 ()

これを java.util.Date オブジェクトに変換するには、次のようにします。

String t= request.getParameter("date_allow_empty");
Date theDate = new Date(Long.valueOf(t) * 1000);

(http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#Date(long))

編集:ミリ秒ではなく秒単位です:(

于 2012-04-30T10:20:06.293 に答える