【发布时间】:2018-05-18 03:45:48
【问题描述】:
我的应用正在使用 JodaTime 来管理日期解析和格式化。
我有这个时间戳:2018-07-24T15:30:00-07:00。
无论用户在哪里,如何显示为下午 3:30?
【问题讨论】:
标签: java android datetime timezone jodatime
我的应用正在使用 JodaTime 来管理日期解析和格式化。
我有这个时间戳:2018-07-24T15:30:00-07:00。
无论用户在哪里,如何显示为下午 3:30?
【问题讨论】:
标签: java android datetime timezone jodatime
以下代码将打印“下午 3:30”:
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()。
【讨论】: