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

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

將 DateTime 對(duì)象轉(zhuǎn)換為字符串

將 DateTime 對(duì)象轉(zhuǎn)換為字符串

阿晨1998 2022-06-30 10:34:13
我有一個(gè)簡(jiǎn)單的問(wèn)題。如何將 ISO-8601 日期轉(zhuǎn)換為字符串?我正在使用具有以下格式的日期:2019-02-05T08:21:15.000+01:00并希望將此日期對(duì)象轉(zhuǎn)換為字符串。我嘗試了以下方法:String startString = (String) jsonObjectMap2.get("created_on"); //startString = "2019-02-21T09:47:58.699004+00:00"`DateTime start = ISODateTimeFormat.dateTimeParser().parseDateTime(startString);DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd'T'hh:mm:ss.SSSZ+|-hh:mm"); String formatedStartString = dateFormat.format(start);`但我收到以下錯(cuò)誤:java.lang.IllegalArgumentException:無(wú)法將給定對(duì)象格式化為日期。DateFormat 的正確格式是什么?我希望你能幫助我,提前謝謝你。
查看完整描述

4 回答

?
互換的青春

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

java.time.OffsetDateTime.parse( "2019-02-21T09:47:58.699004+00:00" )

java.time

什么課DateTime?如果您使用的是 Joda-Time,請(qǐng)知道 Joda-Time 項(xiàng)目現(xiàn)在處于維護(hù)模式。它的創(chuàng)建者 Stephen Colbourne 繼續(xù)領(lǐng)導(dǎo) JSR 310 并實(shí)現(xiàn)Java 中內(nèi)置的java.time類(lèi)。

無(wú)需格式化模式

您的輸入字符串采用標(biāo)準(zhǔn)ISO 8601格式。java.time類(lèi)在解析/生成字符串時(shí)默認(rèn)使用 ISO 8601 格式。

String input = "2019-02-21T09:47:58.699004+00:00" ;  // Standard ISO 8601 format.

OffsetDateTime

您的輸入字符串表示與 UTC 的偏移量,但不是時(shí)區(qū)。所以表示這個(gè)值的合適的類(lèi)是OffsetDateTime.

OffsetDateTime odt = OffsetDateTime.parse( input ) ;


查看完整回答
反對(duì) 回復(fù) 2022-06-30
?
寶慕林4294392

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

正如托馬斯在評(píng)論中提到的那樣,DateTime.format()消費(fèi)一個(gè)Date對(duì)象,而不是一個(gè)DateTime對(duì)象;因此IllegalArgumentException. 根據(jù)您的日期格式判斷,您可以嘗試startString使用內(nèi)置java.time.ZonedDateTime類(lèi)解析您的:


ZonedDateTime dateTime = ZonedDateTime.parse(startString) //it can parse ISO-8601 date-times

然后,您可以使用的靜態(tài)方法格式化您的dateTime對(duì)象,該方法采用一種模式應(yīng)用于您的日期時(shí)間并將格式化的日期作為字符串返回:java.time.DateTimeFormatterofPattern()String


String formattedDateTime = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'hh:mm:ss.SSSZ+|-hh:mm"));

編輯


正如 Basil 指出的那樣,OP 的DateTime對(duì)象包括一個(gè)時(shí)間偏移量,它不一定是時(shí)區(qū)偏移量——正如ZonedDateTime該類(lèi)所表示的那樣。因此,在此場(chǎng)景中使用的最合適的類(lèi)是OffsetDateTime提供相同功能但更適合給定用例的類(lèi)。


查看完整回答
反對(duì) 回復(fù) 2022-06-30
?
慕后森

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

我不確定這是否會(huì)解決您的問(wèn)題,但是 mm 應(yīng)該是大寫(xiě)的,即 MM,因?yàn)?MM 描述月份,而 mm 描述分鐘。

看下面的代碼:

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSZ+|- 
    hh:mm");


查看完整回答
反對(duì) 回復(fù) 2022-06-30
?
元芳怎么了

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

我發(fā)現(xiàn)以下內(nèi)容對(duì)我有用

DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS[XXX]");String formatted = zonedDateTime.format(dateTimeFormatter);


查看完整回答
反對(duì) 回復(fù) 2022-06-30
  • 4 回答
  • 0 關(guān)注
  • 292 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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