6

yyyy-MM-dd HH:mm:ss,SSSミリ秒単位で時間を取得する簡単な方法はありますか? new Date()またはからこれを行う方法についていくつかの情報を見つけましCalendar.getInstance()たが、 long から実行できるかどうかを見つけることができませんでした (例: 1344855183166)

4

6 に答える 6

10

この形式で時間を取得する方法を尋ねられたと思います「yyyy-MM-ddHH:mm:ss、SSS」

1つの方法は、JavaのSimpleDateFormatを使用することです:http: //docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

これはスレッドセーフではないことに注意してください。

..。

Date d = new Date(1344855183166L);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");
String dateStr = sdf.format(d);

..。

于 2012-08-13T12:46:05.290 に答える
5

エポックミリ秒がある場合。以下の行は機能するはずです。

Instant.ofEpochMilli(millis).toString()
于 2019-10-18T18:14:10.407 に答える
3

質問にはタイムゾーンについて言及されていないため、UTC / GMT を意味していると仮定します。質問は「ISO形式」を説明していないため、ISO 8601を意味していると仮定します。これは、たまたまサードパーティのJoda-Time 2.3 ライブラリのデフォルトです。これスレッドセーフです。

// © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so.

System.out.println( "That moment: " + new org.joda.time.DateTime( 1344855183166L, org.joda.time.DateTimeZone.UTC ) );

実行すると…</p>

That moment: 2012-08-13T10:53:03.166Z

元のポスターがポーランドのタイムゾーンを意味していたとしたら…</p>

// © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so.

// Time Zone list… http://joda-time.sourceforge.net/timezones.html
org.joda.time.DateTimeZone warsawTimeZone = org.joda.time.DateTimeZone.forID( "Europe/Warsaw" );
System.out.println( "That moment in Poland: " + new org.joda.time.DateTime( 1344855183166L, warsawTimeZone ) );

実行すると…</p>

That moment in Poland: 2012-08-13T12:53:03.166+02:00
于 2013-11-27T23:49:48.527 に答える
3

Dateコンストラクタは長い(ミリ秒)かかりますよね?

よろしく、

于 2012-08-13T11:15:58.150 に答える
2

new Date(millis);のコンストラクタを使用Date

new Date(1344855183166L);
于 2012-08-13T11:12:14.797 に答える