第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何將日期時(shí)間數(shù)據(jù)字符串轉(zhuǎn)換為 LocalDate?

如何將日期時(shí)間數(shù)據(jù)字符串轉(zhuǎn)換為 LocalDate?

鴻蒙傳說 2023-06-21 16:04:45
我有一個(gè)日期時(shí)間信息字符串,我正在嘗試將其轉(zhuǎn)換為 LocalDate 字段。字符串的內(nèi)容是“2019-08-28 09:00:00”。我正在嘗試獲取 MM/dd/yyyy LocalDate 值以加載到 JavaFX DatePicker 字段中。我努力了Date date = new SimpleDateFormat("MM/dd/yyyy").parse(stringDate);和DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy"); LocalDate localDate = LocalDate.parse((CharSequence) date, formatter);兩者都返回了錯(cuò)誤。選項(xiàng)#2返回的錯(cuò)誤如下:Caused by: java.time.format.DateTimeParseException: Text '2019-08-30 12:00:00' could not be parsed at index 2     at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)     at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)     at java.time.LocalDate.parse(LocalDate.java:400)     at utils.DateTimeConverter.convertStringDateToLocalDate(DateTimeConverter.java:27)
查看完整描述

2 回答

?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

這取決于你想達(dá)到什么目的?


如果結(jié)果是包含小時(shí)、分鐘和秒的日期,則 DateFormatter 比 DateTimeFormatter 更合適


DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

LocalDate localDate = LocalDate.parse(date, formatter);

或者


DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

LocalTimeDate localDateWithTime = LocalTimeDate.parse(date, formatter);

生成該錯(cuò)誤是因?yàn)槟胍梢粋€(gè)不帶(小時(shí)、分鐘等)的日期,而使用DateTimeFormatteraLocalDate而不是LocalTimeDate您的模式格式的正確類型。


注意:您不必強(qiáng)制轉(zhuǎn)換CharSequence為String


編輯 2:


如果您要在日期選擇器中輸入的日期是 2019-08-28,模式應(yīng)該是yyyy-MM-dd而不是。MM-dd-yyyy


這里的 JUnit 測(cè)試證明我在說什么:


@Test

public void testDate() {

    String date = "2019-08-30 12:00:00";

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    LocalDateTime localTimeDate = LocalDateTime.parse(date, formatter);

    assertTrue(localTimeDate.toString().equals(date));

}


@Test

public void testDateWithoutTime() {

    String date = "2019-08-30";

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

    LocalDate localDate = LocalDate.parse(date, formatter);

    assertTrue(localDate.toString().equals(date));

}


查看完整回答
反對(duì) 回復(fù) 2023-06-21
?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

您的模式不包含相關(guān)時(shí)間信息。你也需要包括它。

Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(stringDate);


查看完整回答
反對(duì) 回復(fù) 2023-06-21
  • 2 回答
  • 0 關(guān)注
  • 232 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)