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

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

如何將兩個不同的字符串日期轉換為單個日期格式

如何將兩個不同的字符串日期轉換為單個日期格式

繁華開滿天機 2023-07-28 16:29:25
我有兩個字符串想要轉換為特定的日期時間格式,以便我可以進行比較。我遇到的問題是它在解析中出錯并出現(xiàn)異常,我想知道我是否做錯了什么。想問將兩個不同的字符串日期轉換為單個日期格式的最佳方法是什么SimpleDateFormat localDateFormat = new SimpleDateFormat("yyyy dd mm - HH:mm:ss");         String firstDateString= "11 May 2018 21:03:51 GMT";         String secondDateString= "dataStore.get("2018-05-11T21:03:51Z";         Date firstDateFormat =localDateFormat.parse(firstDateString);         Date secondDateFormat =localDateFormat.parse(secondDateString);
查看完整描述

3 回答

?
慕哥6287543

TA貢獻1831條經(jīng)驗 獲得超10個贊

我遇到的問題是它在解析中出錯并出現(xiàn)異常,我想知道我是否做錯了什么。


=> 是的,你確實在這樣做。您首先需要將日期解析為實際格式,然后將其格式化為所需的格式。


例如:用于解析和格式化2018-05-11T21:03:51Z


DateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:MM:SS'z'", Locale.ENGLISH);

DateFormat targetFormat = new SimpleDateFormat("yyyy dd mm - HH:mm:ss");

Date date = originalFormat.parse("2018-05-11T21:03:51Z");

String formattedDate = targetFormat.format(date);  // 2018 05 11 - 21:03:51


查看完整回答
反對 回復 2023-07-28
?
動漫人物

TA貢獻1815條經(jīng)驗 獲得超10個贊

java.time

    DateTimeFormatter firstFormatteer

            = DateTimeFormatter.ofPattern("d MMM uuuu H:mm:ss z", Locale.ENGLISH);


    String firstDateString = "11 May 2018 21:03:51 GMT";

    String secondDateString = "2018-05-11T21:03:51Z";


    Instant firstInstant = firstFormatteer.parse(firstDateString, Instant::from);

    Instant seoncdInstant = Instant.parse(secondDateString);


    System.out.println("The strings are parsed into " + firstInstant + " and " + seoncdInstant);

輸出是:


字符串被解析為 2018-05-11T21:03:51Z 和 2018-05-11T21:03:51Z


來自兩個服務的字符串具有兩種不同的格式,您能做的最好的事情就是以兩種不同的方式處理它們。首先,定義一個與格式匹配的格式化程序。第二個是 ISO 8601 格式。Instant解析此格式時不需要任何顯式格式化程序,因此這里我們不需要定義格式化程序。


要進行比較,例如:


    if (firstInstant.isBefore(seoncdInstant)) {

        System.out.println("The first date and time comes first");

    } else if (firstInstant.equals(seoncdInstant)) {

        System.out.println("The date and time is the same");

    }

日期和時間相同


類Instant是類的現(xiàn)代替代品Date,它代表了一個時刻。


這個Date類設計得很糟糕,而且SimpleDateFormat非常麻煩,幸運的是它們都已經(jīng)過時了。我建議您避免使用它們并使用 java.time(現(xiàn)代 Java 日期和時間 API)。


查看完整回答
反對 回復 2023-07-28
?
翻閱古今

TA貢獻1780條經(jīng)驗 獲得超5個贊

這里:

SimpleDateFormat?localDateFormat?=?new?SimpleDateFormat("yyyy?dd?mm?-?HH:mm:ss");

該格式表示:4 年數(shù)字空格、2 天數(shù)字空格、2 個月數(shù)字 DASH 等等。

事情是:你的字符串日期都不是:

????"11?May?2018?21:03:51?GMT"
????"2018-05-11T21:03:51Z"

看起來像那樣。第一個是“dd M yyy ...”(不以年份開頭),第二個使用“-”而不是“”作為初始日期的分隔符。

查看完整回答
反對 回復 2023-07-28
  • 3 回答
  • 0 關注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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