FIXのtimestampの例
SendingTime(UTC) : 52=20140925-18:09:34.422
以下はアイディア
(1) LocalDateTimeに変換し、9時間プラスする。
(2) LocalDateTime(UTC)に変換 ⇒ Instantに変換 ⇒ ZonedDateTIme(JST)に変換 ⇒ LocalDateTime(JST)に変換
(3) もっと良いやり方が。。。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd-HH:mm:ss.SSS"); String sampleTime = "20140925-18:09:34.444"; // UTC LocalDateTime localDateTimeUtc = LocalDateTime.parse(sampleTime, formatter); // (1) LocalDateTimeに変換し、9時間プラスする。 LocalDateTime localDateTimeJst = localDateTimeUtc.plusHours(9); // (2) LocalDateTime(UTC)に変換 ⇒ Instantに変換 ⇒ ZonedDateTIme(JST)に変換 ⇒ LocalDateTime(JST)に変換 Instant instant = localDateTimeUtc.toInstant(ZoneOffset.UTC); ZonedDateTime zonedDateTimeJst = ZonedDateTime.ofInstant(instant, ZoneId.of("Asia/Tokyo")); LocalDateTime localDateTimeJst2 = zonedDateTimeJst.toLocalDateTime();DateTimeAPIで参考になりそうなサイト ・Programming Studio Date and Time API 徹底攻略(5) - Date/Time その2 ・JavaのAPI
0 件のコメント:
コメントを投稿