提问人:paul590 提问时间:8/1/2017 更新时间:8/1/2017 访问量:225
使用偏移变量从设备本地时间获取时间
get time from devices local time using offset variable
问:
您好,我正在使用为我提供对象 org.threeten.bp.OffsetDateTime 的 threeten 库。当我处于美国东部标准时间时,该应用程序运行良好,但是当我手动将设备更改为太平洋时间以确保正确显示时间时,我仍然获得美国东部时间。我以为使用这个对象时,对象会从设备获取当前时间和时区。我尝试了以下方法并获取了 EST 中的日期字符串。 有什么想法吗?谢谢你的帮助
法典:
OffsetDateTime time = OffsetDateTime.now();
Log.i(TAG, time.tostring());
输出: 2017-07-31T19:49:11.828-04:00
答: 暂无答案
评论
OffsetDateTime.now()
使用 JVM 中配置的默认时区的当前偏移量。您没有指定如何更改设备的时间,但可能以不影响 JVM 配置的方式。您可以使用 检查 JVM 的默认值。获取此值以了解您的配置是否真的更改了 JVM 的默认时区。ZoneId.systemDefault().getId()
TimeZone.setDefault(TimeZone.getTimeZone("Europe/Paris"))
OffsetDateTime.now(ZoneId.of("Europe/Paris"))