Jodatime-在自己的时区显示时间



我的应用程序正在使用jodatime管理日期解析和格式化。

我有这个时间戳:2018-07-24T15:30:00-07:00。如何显示为3:30 pm,无论用户的下落如何?

以下代码将打印" 3:30 pm":

DateTimeFormatter iso = ISODateTimeFormat.dateTimeParser().withOffsetParsed();
DateTime tsp = iso.parseDateTime("2018-07-24T15:30:00-07:00");
DateTimeFormatter out = DateTimeFormat.forPattern("h:mma").withLocale(Locale.ENGLISH);
System.out.println(tsp); // 2018-07-24T15:30:00.000-07:00
System.out.println(out.print(tsp).toLowerCase()); // 3:30pm

主要问题是解析器不保留-7:00的解析偏移,而是将其转移到您的系统时区,除非您也致电withOffsetParsed()

相关内容

  • 没有找到相关文章

最新更新