例如,2012-10-30T22:30:00+0300 需要显示在 2012-10-30T22:30:00-0600 (例如当地时间)需要在 java 中实现(android 应用程序)我该如何管理这样做?
问问题
814 次
3 回答
1
这就是日期:一个普遍的瞬间。显示时选择适当的时区,您将获得所需的时间字符串:
Date now = new Date();
DateFormat df = df.getDateTimeInstance();
System.out.println(df.format(now)); // now, displayed in the current time zone (examle: Germany)
df.setTimeZone(theLondonTimeZone);
System.out.println(df.format(now)); // now, displayed in the time zone of London
于 2012-11-01T08:23:17.323 回答
1
于 2020-06-17T19:28:25.887 回答
0
使用 joda 时间库最好地解决了我的问题,使用 dateTime 和 dateTime zone 如下所示:
DateTimeFormatter parser2 = ISODateTimeFormat.dateTimeNoMillis();
DateTime dt = new DateTime();
DateTime dt2 = new DateTime();
dt = DateTime.parse("2012-11-05T13:00:00+0200");
System.out.println(dt.toString());
dt2 = DateTime.parse("2012-11-05T21:45:00-08:00");
DateTimeZone dtz = dt2.getZone();
System.out.println(dt.withZone(dtz).toString());
于 2012-11-07T10:03:17.570 回答