我一直试图弄清楚这一段时间,但无法绕过它。 我在Android应用程序上工作,我想显示左侧特定日期,我想根据我在手机上设置的时区天数。
我的应用程序中有Joda Time,我的信息就是:
2013-05-05 9.00PM 时间是在PST(GMT-8)时区,我不知道如何做到这一点,我已经搜索谷歌和SO但无法获得一个明确的答案。
修改
我设法用SO
上的代码解决了我的问题String dateString = airDate + " " + airTime.toUpperCase();
SimpleDateFormat sourceFormat = new SimpleDateFormat("yyyy-MM-dd K:mma");
sourceFormat.setTimeZone(TimeZone.getTimeZone("GMT-8"));
Date parsed;
parsed = sourceFormat.parse(dateString);
TimeZone tz = TimeZone.getDefault();
SimpleDateFormat destFormat = new SimpleDateFormat("yyyy-MM-dd");
destFormat.setTimeZone(tz);
result = destFormat.format(parsed);
但是我发现我第一次得到的时间不正确,我现在以 GMT-5 + DST 的格式获得时区。如果将时间设置为20:00并且在我的TimeZone.getTimeZone中使用GMT-5,我不知道如何处理+ DST。返回的时间是22:00,因为我住在瑞典,这是“错误的”。我很感激任何帮助。