3 回答

TA貢獻1911條經(jīng)驗 獲得超7個贊
若要獲取當前系統(tǒng)區(qū)域設置的 ,可以使用日期時間格式化程序。DateTimeFormatter
該參數(shù)控制是要長表示還是短表示(公元 1952 年 4 月 12 日星期二下午 3:30:42 PST 與 12.13.52 3:30pm)。FormatStyle
一些例子以及我在本地系統(tǒng)上得到的東西:
//Tuesday, 2 April 2019 at 5:49:39 pm Australian Eastern Daylight Time
DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL).format(ZonedDateTime.now())
//2 April 2019 at 5:50:20 pm AEDT
DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG).format(ZonedDateTime.now())
//2/4/19, 5:50 pm
DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT).format(ZonedDateTime.now())

TA貢獻1895條經(jīng)驗 獲得超3個贊
你不能只用 Java API 來做到這一點。系統(tǒng)日期時間格式是特定于操作系統(tǒng)的,Java 沒有 API 來讀取該格式(您可以讀取日期時間和語言環(huán)境,但不能讀取格式)。你必須找到一些庫來做它或自己編寫它 - 但要注意,對于每個操作系統(tǒng)來說,這將有很大的不同。
要獲取區(qū)域設置,請執(zhí)行以下操作:Locale.getDefault()
從區(qū)域設置中,在大多數(shù)情況下,您可能可以采用該格式(但如果用戶選擇了非典型格式,則不會)。

TA貢獻1794條經(jīng)驗 獲得超8個贊
您只能以毫秒為單位詢問系統(tǒng)當前時間。然后,您可以將它們轉換為日期時間:
long timestamp = System.currentTimeMillis();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date date = new Date(timestamp);
System.out.println(dateFormat.format(date));
添加回答
舉報