亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

獲取該月的第幾天

獲取該月的第幾天

牧羊人nacy 2024-01-17 16:42:23
據我所知,Java 8 中引入的 java.time 包使用起來要簡單得多。然而,我正在 Java 7 中進行挑戰,當我運行我的代碼時,我很困惑到底錯誤是什么。我正在嘗試在最后一行打印星期幾(以文本形式)。但是,它在最后一次打印中打印 null。如果我將月份從 7 更改為 8,則會在最后一個打印語句中打印星期六。想知道我做錯了什么。新 GregorianCalendar 的月份參數輸出為 72015 年澳大利亞東部時間 8 月 5 日星期三 00:00:004無效的新 GregorianCalendar 的月份參數輸出為 82015 年澳大利亞東部時間 9 月 5 日星期六 00:00:007周六import java.util.Calendar;import java.util.GregorianCalendar;import java.util.Locale;public class Test {    public static void main(String[] args){        Calendar calendar  = new GregorianCalendar(2015,7,5);        System.out.println(calendar.getTime().toString());        System.out.println(calendar.get(Calendar.DAY_OF_WEEK));        System.out.println(calendar.getDisplayName(calendar.get(Calendar.DAY_OF_WEEK),Calendar.LONG, Locale.getDefault()));    }}
查看完整描述

1 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

你是對的,你不應該GregorianCalendar在 2019 年使用。在 Java 7 中也不應該使用。java.time(現代 Java 日期和時間 API)已向后移植。使用 ThreeTen 向后移植。請參閱底部的鏈接。

????LocalDate?date?=?LocalDate.of(2019,?Month.AUGUST,?5);
????????DayOfWeek?dow?=?date.getDayOfWeek();
????System.out.println(dow.getDisplayName(TextStyle.SHORT,?Locale.ENGLISH));

輸出是:

我的

你的代碼出了什么問題?

你曾經想要:

????System.out.println(calendar.getDisplayName(Calendar.DAY_OF_WEEK,Calendar.LONG,?Locale.getDefault()));

第一個參數getDisplayName是字段代碼,例如DAY_OF_WEEK.?當傳遞該字段的實際值時,您可能會冒給它一個無效值的風險,在這種情況下該方法會返回null(這可能會令人困惑 - 感謝 Kevin Andersson 承認這是年度輕描淡寫 (;->)?。?/p>

字段 4 是WEEK_OF_MONTH。該月的星期沒有名稱,只有數字,這就是為什么沒有字符串表示形式適用于該字段。字段 7 是DAY_OF_WEEK,因此您在第二種情況(8 = 九月)中得到預期結果純屬巧合。

查看完整回答
反對 回復 2024-01-17
  • 1 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號