2012-01-15 27 views
0

誰でもJavaの日付をエポックに変換する方法を教えてください。例: 2011-05-01 13:12:20 ISTまたは2011-05-01 14:11:10 PSTからエポック。 私は2011-05-01 13:12:20フォーマットを使用して変換することができますが、それをタイムゾーンと共に使用すると正しい結果が得られません。エポック変換の日付

+2

あなたが試したコード、得た結果、期待したものを表示してください。 – Mat

答えて

1

SimpleDateFormatを、あなたの日付形式と一致する文字列パターンで構成します。 「日付と時刻」セクションと「例」セクションでは、日付書式文字列を作成する方法について十分なヘルプを提供する必要があります。

次に、適切な日付書式文字列を使用して日付を取得するだけです。

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 

Date date = sdf.parse("15/01/2012"); 
0

java.time

java.timeクラスを使用します。その後、

String input = "2011-05-01 13:12:20".replace(" " , "T"); 
LocalDateTime ldt = LocalDateTime.parse(input); 
ZonedDateTime zdt = ldt.atZone(ZoneId.of("Asia/Kolkata")); 

「エポック」で、あなたはUTC 1970年の最初の瞬間のepoch reference dateから全部秒またはミリ秒のカウントを意味している場合(多くの場合、Unix Timeと呼ばれる)、抽出されたInstantオブジェクトを介してZonedDateTimeオブジェクトを問い合わせます。

long wholeSecondsSinceEpoch = zdt.toInstant().getEpochSecond(); 
long millisecondsSinceEpoch = zdt.toInstant().toEpochMilli();