我正在使用Android应用程序,并且要将本地时间(设备时间)转换为UTC并将其保存在数据库中。从数据库中检索它之后,我必须再次将其转换并显示在设备的时区中。谁能建议如何用Java做到这一点?
我使用这两种方法将本地时间转换为GMT / UTC,反之亦然,这对我来说没有任何问题。
public static Date localToGMT() { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); Date gmt = new Date(sdf.format(date)); return gmt; }
将要转换为设备本地时间的GMT / UTC日期传递给此方法:
public static Date gmttoLocalDate(Date date) { String timeZone = Calendar.getInstance().getTimeZone().getID(); Date local = new Date(date.getTime() + TimeZone.getTimeZone(timeZone).getOffset(date.getTime())); return local }