我需要在java中爲所提供的時區格式化日期時間。例如。美國爲mm/dd/yyyy,DE爲dd/mm/yyyy。我有時區,我可以得到zoneId,有人可以幫助我。非常感謝。在java中提供時區的格式日期
回答
使用現代的Java日期和時間類已經得到了與日期或時間做的一切。
DateTimeFormatter usFormatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT)
.withLocale(Locale.US);
System.out.println(date.format(usFormatter));
DateTimeFormatter deFormatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT)
.withLocale(Locale.GERMANY);
System.out.println(date.format(deFormatter));
這將打印出類似這樣
6/27/17
27.06.17
這不正是你要的格式,但它的Java認爲格式適用於這兩個區域設置。我會嘗試它們,如果用戶投訴,請從模式字符串(例如MM/dd/uuuu
)構建我自己的DateTimeFormatter
。
我用LocalDate
在代碼date
,但相同的代碼應該用LocalDateTime
,OffsetDateTime
或ZonedDateTime
工作。
如果你的意思是推斷從時區的區域設置在ZonedDateTime
,我不認爲你可以做到這一點可靠。時區中經常有許多國家,每個國家都有自己的區域設置和自己的格式化日期。例如,德國與挪威,瑞典,丹麥,波蘭,法國,瑞士,奧地利和意大利,西班牙,塞爾維亞等等共享其時區。
如果您打算從舊時區中的時區推斷出它,您當然不能僅僅因爲Date
沒有在其中包含時區。
這就是我需要的,我有Long中的日期,在設置了默認時區後,我創建了新日期(長蜱),但我需要爲明確的國家進行格式化。如果你有Locale,你的回答很好,但我只有時區。 – Chavez
您可以猜測一下。我認爲在所提及的國家中的人們將能夠閱讀與德國語言環境格式化的日期,儘管他們可能並不都認爲它是他們自己的。 –
要將從曆元開始的包含毫秒的'long'轉換爲可使用上述代碼格式化的內容,請使用'Instant.ofEpochMilli(millisSinceEpoch).atZone(ZoneId。(「歐洲/柏林」)) - 請填寫用戶的時區,而不是柏林時區。這給你一個'ZonedDateTime',正如我在答案中所說的那樣,我的代碼應該可以使用它。 –
希望這會幫助你,
import java.util.*;
import java.text.*;
public class DateDemo {
public static void main(String args[]) {
Date date1 = new Date();
System.out.println(date1);
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
Date date2 = new Date();
System.out.println(date2);
TimeZone.setDefault(TimeZone.getTimeZone("EST"));
Date date3 = new Date();
System.out.println(date3);
}
}
輸出:
Tue Jun 06 14:02:51 IST 2017
Tue Jun 06 08:32:51 UTC 2017
Tue Jun 06 03:32:51 EST 2017
我認爲你不明白這個問題。這是關於根據時區以不同格式顯示的。在某些國家,日期格式爲mm-dd-yyyy,在某些國家爲dd/mm/yyyy等。 – RealSkeptic
- 1. java日曆/格式化程序提供了錯誤的日期
- 2. 日期格式 - 時區
- 3. Oracle中的時區日期格式
- 4. 日期格式在Java中
- 5. 格式日期在GMT時區顯示
- 6. JAVA中的日期格式
- 7. java中的日期格式
- 8. 帶時區格式的Java日期時間
- 9. 格式日期時間時區
- 10. 格式日期時間特定時區
- 11. 格式化帶時區的Postgresql日期
- 12. 帶時區的日期格式
- 13. 沒有時區的Javascript日期格式
- 14. Groovy的日期和時區格式化
- 15. 如何在iphone中提供輸入日期格式
- 16. 沒有「:」的時區的java日期格式
- 17. 用戶提供的語言環境中的django格式日期
- 18. Java日期格式
- 19. Java日期格式?
- 20. 日期格式JAVA
- 21. Java - 日期格式
- 22. Java日期格式
- 23. Java日期格式
- 24. 日期格式Java?
- 25. Java - 格式日期
- 26. 日期格式在Java
- 27. Java的日期格式解析()不尊重時區
- 28. 在java中的日期格式
- 29. 在java中的日期格式問題
- 30. 以mysql日期格式存儲時區
嘗試使用Google搜索標題。 – Guy
如果你不提供[sscce](http://sscce.org/)代碼,你將很難幫助你... ... –
去看看這裏。 https://stackoverflow.com/questions/7670355/convert-date-time-for-given-timezone-java – fluffy