我正在开发 Android 应用程序,我想将本地时间(设备时间)转换为 UTC 并将其保存在数据库中。从数据库中检索它后,我必须再次转换它并显示在设备的时区中。谁能建议如何在 Java 中执行此操作?
原文由 Mew 发布,翻译遵循 CC BY-SA 4.0 许可协议
已接受答案的简化和浓缩版本:
public static Date dateFromUTC(Date date){
return new Date(date.getTime() + Calendar.getInstance().getTimeZone().getOffset(new Date().getTime()));
}
public static Date dateToUTC(Date date){
return new Date(date.getTime() - Calendar.getInstance().getTimeZone().getOffset(date.getTime()));
}
原文由 Chris Stillwell 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
我使用这两种方法将当地时间转换为 GMT/UTC,反之亦然,这对我来说没有任何问题。
将要转换为设备本地时间的 GMT/UTC 日期传递给此方法: