3
日在這裏我的問題:的Java日期時間格式轉換
String datetime = "2012-03-24 23:20:51";
我知道該字符串是在UTC時區。 我需要將此字符串轉換爲格式「yyy-mm-dd'T'HH:mm:ssZ」。
要做到這一點我用下面的代碼:
SimpleDateFormat inFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
inFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));
Date inDate = inFormatter.parse(datetime);
SimpleDateFormat outFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
outFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));
String output = outFormatter.format(inDate);
的問題是,這個代碼與時區UTC + 1,它給了我結果的服務器上運行的是這樣的:
output = "2012-03-24T21:20:51+0000"
它從初始時間移除2小時並放置UTC時間戳(0000)。
你能幫我解決這個問題嗎? 謝謝。
我編一個服務器時區 - indipendent代碼 – Bagbyte 2012-03-24 22:53:24
我不能讓你的代碼做...我基本上只有你的代碼有一個簡短但完整的程序,它總是給我正確的價值... – 2012-03-24 22:55:02