根据手机上的时区获取日期

时间:2013-04-19 21:25:12

标签: android datetime

我一直试图弄清楚这一段时间,但无法绕过它。 我在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,因为我住在瑞典,这是“错误的”。我很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

如果你能找到一个看起来像“在2天内”的字符串,那么你应该可以使用DateUtils.getRelativeTimeSpanString()