簡體   English   中英

Java日期時間格式轉換

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM