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

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

從字符串中解析帶時(shí)區(qū)的日期

從字符串中解析帶時(shí)區(qū)的日期

哈士奇WWW 2021-05-13 18:08:39
快速(我想)問題。如何將類似的字符串解析"2018-07-22 +3:00"為OffsetDateTime(將時(shí)間設(shè)置為0:0:0.0)?DateTimeFormatter formatter =cDateTimeFormatter.ofPattern("yyyy-MM-dd xxx");OffsetDateTime dt = OffsetDateTime.parse("2007-07-21 +00:00", formatter);java.time.format.DateTimeParseException:無法解析文本'2007-07-21 +00:00':無法從TemporalAccessor獲取OffsetDateTime:{OffsetSeconds = 0},ISO解析為java類型的2007-07-21。 time.format.Parsed
查看完整描述

2 回答

?
當(dāng)年話下

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

AnOffsetDateTime需要一個(gè)時(shí)間,但是您的格式字符串不提供該時(shí)間,因此您需要DateTimeFormatter將默認(rèn)時(shí)間設(shè)置為午夜。


此外,偏移量+3:00無效,因?yàn)樾r(shí)必須為2位數(shù),這意味著您需要先對其進(jìn)行修復(fù)。


這將同時(shí)做到:


public static OffsetDateTime parse(String text) {

    // Fix 1-digit offset hour

    String s = text.replaceFirst("( [+-])(\\d:\\d\\d)$", "$10$2");


    DateTimeFormatter formatter = new DateTimeFormatterBuilder()

            .appendPattern("uuuu-MM-dd xxx")

            .parseDefaulting(ChronoField.HOUR_OF_DAY, 0)

            .toFormatter();

    return OffsetDateTime.parse(s, formatter);

}

測試


System.out.println(parse("2018-07-22 +3:00"));

System.out.println(parse("2018-07-22 +03:00"));

System.out.println(parse("2007-07-21 +00:00"));

輸出


2018-07-22T00:00+03:00

2018-07-22T00:00+03:00

2007-07-21T00:00Z


查看完整回答
反對 回復(fù) 2021-05-26
  • 2 回答
  • 0 關(guān)注
  • 207 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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