0

251786 <-> 00:04:11,786

Date date = new Date(251786);
DateFormat formatter = new SimpleDateFormat("HH:mm:ss,SSS");
String dateFormatted = formatter.format(date);

ただし、dateFormatted の値は 18:04:11,786 です。

HHはどうなるの?

4

4 に答える 4

1

Date コンストラクター (251786) の引数は、エポック (または 1970 年 1 月 1 日 00:00:00 GMT) からほぼ 252 秒を示しています。マシンが GMT で実行されていないと仮定すると、ローカル タイム オフセット (1970 年 1 月 1 日 00:04:11,786 GMT) が取得され、GMT-6 にいると推測されます (つまり、タイムゾーンは 6 時間遅れています)。 GMT であるため、時間フィールドに 18 が表示されます (または午後 6 時)。

于 2013-11-12T05:22:48.257 に答える
0

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

Date(long date) Date オブジェクトを割り当て、初期化して、「エポック」として知られる標準基準時刻 (1970 年 1 月 1 日 00:00:00 GMT) からの指定されたミリ秒数を表します。

于 2013-11-12T05:21:18.133 に答える
0

私は@Elliottに同意します。それに加えて、もう少し説明があります:)。

GMT-6 (GMT の 6 時間遅れ) にいるため、標準でthe epochJanuary 1, 1970, 18:00:00なくJanuary 1, 1970, 00:00:00 GMT

そして、コンストラクターに251786渡す引数()が何であれ、に追加されます。あなたの場合は+になります-> 表示される結果は になります 。Datethe epochJanuary 1, 1970, 18:00:00 000 251786January 1, 1970, 18:04:11 786

EEE, d MMM yyyy hh:mm:ss,SSSパターンや他のパターンで試してみると、より理解が深まります。

Date date = new Date(251786);
DateFormat formatter = new SimpleDateFormat("EEE, d MMM yyyy hh:mm:ss,SSS");
String dateFormatted = formatter.format(date);
于 2013-11-12T05:53:26.233 に答える
-1

絶対に 4 分 11 秒です。

時間を取得するには、ミリ秒の引数を増やす必要があります。

于 2013-11-12T05:21:43.523 に答える