1
アンドロイドの日付とカレンダーには多くの問題があり、別のものをキャッチしています。私は日付にいくつかの日付(文字列としてのストア)を解析する必要があります。私はこの方法を書いた:SimpleDateFormat.parseは、異なるタイムゾーンで日付を返します
private Date getDateFromString(String dateStr, String timeStr) {
Date dateObj = null;
SimpleDateFormat dateFormater = new SimpleDateFormat("dd. MMM yyyy HH:mm", new Locale("da", "DK"));
dateFormater.setTimeZone(TimeZone.getTimeZone("GMT+01:00"));
try {
dateObj = dateFormater.parse(dateStr + " " + timeStr);
} catch (ParseException parseExc) {
parseExc.printStackTrace();
}
return dateObj;
}
をし、それが動作しますが、私は結果をログに記録しようとすると、私は次の出力を見ました:
11-14 15:49:03.223: D/my date(560): Sun Mar 04 08:00:00 GMT+01:00 2012
11-14 15:49:03.223: D/my date(560): Sun Mar 11 08:00:00 GMT+01:00 2012
11-14 15:49:03.233: D/my date(560): Sun Mar 18 08:00:00 GMT+01:00 2012
11-14 15:49:03.233: D/my date(560): Sun Mar 25 08:00:00 GMT+02:00 2012
11-14 15:49:03.243: D/my date(560): Sun Apr 01 08:00:00 GMT+02:00 2012
すなわち、いくつかの日付はGMT + 1つのタイムゾーンに解析され、いくつかの日付のGMTにされています+2。すべての日付を同じタイムゾーンに取得するにはどうすればよいですか?
答えが間違っていても:良いキャッチ! –
本当に素敵な答え。私は明日それを試し、正しいとあなたの答えをマークします! –
タイムゾーンの切り替えを避けるため、このコードを使用します。TimeZone.setDefault(新しいSimpleTimeZone(60 * 60 * 1000、 "CET")); –