私のコードでは、現在の時刻を取得し、それを "UTC"タイムゾーンに従ってフォーマットし、同じタイムゾーンを使用してそれを解析してDateに変換します。今、物事が正常に動作し、ここでuptil よりも、そのフォーマットされ、JavaのsimpleDateFormatは、指定されたロケールで日付を正しく解析しませんか?
Calendar calendar = Calendar.getInstance();
Date currentDate = calendar.getTime();
//gives time as "Wed Jul 20 13:04:51 GMT+05:00 2016"
dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
String dateText = dateFormat.format(currentDate);
//This formats dates as following "Wed, 20 Jul 2016 08:04:51 +0000"
次のコードのように解析:問題は、私は「00 2016年7月20日水曜日午後一時04分51秒GMT + 05」と日付を取得するということですタイムゾーンGMT + 05と時間:
Date setteledDate = dateFormat.parse(dateText);
すぐ上記のように日付を解析次の日付を与えるフォーマットされた日付に0000で示す00:00 GMT + 00標準UTCに変換されます。 「水曜日7月20日13:04:51 GMT + 05:00 2016」問題は、この日付がGMT + 5 に再びあり、現在の日付の書式を取得している私の全目的が、「UTC」(GMT + 00:00)に基づいて現在の日付を取得するために解析されているためです。
助けてください。
を更新しますか? –
私はJava 7を使用しています。 –
http://stackoverflow.com/questions/21939967/java-simpledateformat-interpret-parse-string-as-utc –