我正在开发 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 许可协议
4 回答1.4k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
3 回答899 阅读✓ 已解决
2 回答998 阅读✓ 已解决
2 回答730 阅读✓ 已解决
2 回答1.7k 阅读
我使用这两种方法将当地时间转换为 GMT/UTC,反之亦然,这对我来说没有任何问题。
将要转换为设备本地时间的 GMT/UTC 日期传递给此方法: