Android指定时区显示航班起飞时间问题及解决说明
航班时区显示异常问题排查与解决
更新:问题已解决,所用Java代码片段无问题,故障根源为数据集错误。
我维护的API返回UTC格式的航班起飞时间,示例:2023-07-24T15:19:00.000Z。针对从爱尔兰起飞的航班,我需要将UTC时间转换为Europe/Dublin时区的当地实际起飞时间,使用的代码如下:
String output = Instant.parse(dateTime) .atZone(ZoneId.of( "Europe/Dublin" )) .format( DateTimeFormatter.ofPattern("HH:mm") );
此前遇到的问题:应用没有显示都柏林时区的时间,而是始终展示手机系统设定的时区时间。比如爱尔兰当地起飞时间为08:00时,法国用户看到的是09:00(时差+1小时),这容易造成用户误解,预期应该显示08:00。
最终排查确认,该问题并非代码逻辑问题,而是数据集存在错误。
内容的提问来源于stack exchange,提问作者Vincent
相关产品推荐
相关产品推荐

