[英]Java datetime format convert
在這里約會我的問題:
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)。
你能幫我解決這個問題嗎? 謝謝你。
如果輸出格式是 UTC+1,那么您應該在 outformatter 中使用它而不是 UTC。
outFormatter.setTimeZone(TimeZone.getTimeZone("UTC+01:00"));
另外,如果你不想在最后加上 +0000 然后刪除 Z
SimpleDateFormat outFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.