<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # 簡介 日歷類,可獲取日期中指定字段的值 方法: * public static Calendar getInstance() //獲取日期對象 * public int get(int field) //獲取時間字段值,字段參見幫助文檔 * YEAR 年 * MONTH 月,從0開始算起,最大11;0代表1月,11代表12月。 * DATE 天 * HOUR 時 * MINUTE分 * SECOND秒 * DAY_OF_MONTH 月中的天(幾號) * public void add(int field,int amount) //指定字段增加某值 * public final void set(int field,int value)//設置指定字段的值 * public final Date getTime() //獲取該日歷對象轉成的日期對象 # Calendar **注意:日歷類的月是從0開始算起,0-11** 日歷類,可獲取日期中指定字段的值 方法: ~~~ * public static Calendar getInstance() //獲取日期對象 * public int get(int field) //獲取時間字段值,字段參見幫助文檔 - YEAR 年 - MONTH 月,從0開始算起,最大11;0代表1月,11代表12月。 - DATE 天 - HOUR 時 - MINUTE分 - SECOND秒 * public void add(int field,int amount) //指定字段增加某值 * public final void set(int field,int value)//設置指定字段的值 * public final Date getTime() //獲取該日歷對象轉成的日期對象 ~~~ ---- 例子: ~~~ Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); //能輸出很多,包括時區 System.out.println(c); //修改當前時間為3天后 c.add(Calendar.DATE, 3); //修改當前時間為5小時后 c.add(Calendar.HOUR, 5); //設置時間為2020年5月20日 c.set(Calendar.YEAR, 2020); c.set(Calendar.MONTH, 4); c.set(Calendar.DATE, 20); Date d = c.getTime(); ~~~ **注意:日歷類的月是從0開始算起,0-11** ~~~ public static void main(String[] args) throws ParseException { //設置時間 String s = "2018年12月11日"; // 里面的格式化要寫對 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日"); Date parse = simpleDateFormat.parse(s); // 獲取時間戳 System.out.println(parse.getTime()); System.out.println("--------"); //用日歷類設置時間 Calendar c = Calendar.getInstance(); //設置時間為2018年12月1日 c.set(Calendar.YEAR, 2018); c.set(Calendar.MONTH, 12); c.set(Calendar.DATE, 1); Date time = c.getTime(); //獲取時間戳 System.out.println(time.getTime()); } ~~~ 輸出 ~~~ 1544457600000 -------- 1546333139093 ~~~ # 常用方法 ![](https://box.kancloud.cn/6a516295ab0434bbcd186782e848af8c_856x796.png) ![](https://box.kancloud.cn/4a0f12a4a9ad8dfa9f82c81500e1bef9_860x309.png) # 常用場景 ## 獲取今天或者之后多少天的日期 ~~~ Calendar calendar=Calendar.getInstance(); @Test public void getTest(){ calendar.setTime(new Date()); /*獲取今天的日期*/ System.out.println("今天的日期是:"+calendar.get(Calendar.DAY_OF_MONTH)); /*獲取十天之后的日期*/ calendar.clear();//避免繼承當前系統的時間 calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH)+10); System.out.println("十天之后的日期是:"+calendar.get(Calendar.DAY_OF_MONTH)); } ~~~ ## 計算某個月的天數是多少 ~~~ /*計算某一個月的天數是多少*/ public void maxDay(int year,int month){ calendar.clear(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH,month-1);//默認1月為0月 int day = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println(year+"年"+month+"月"+"的最大天數是:"+day); } @Test public void maxDayTest(){ maxDay(2017,9); } ~~~ ## 計算某一天是該年或該月的第幾個星期 ~~~ public void weekNum(int year,int month,int day){ calendar.clear(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH,month-1); calendar.set(Calendar.DAY_OF_MONTH, day); /*計算某一天是該年的第幾個星期*/ int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR); System.out.println(year+"年"+month+"月"+day+"日是這年中的第"+weekOfYear+"個星期"); /*計算某一天是該月的第幾個星期*/ int weekOfMonth= calendar.get(Calendar.WEEK_OF_MONTH); System.out.println(year+"年"+month+"月"+day+"日是這個月中的第"+weekOfMonth+"個星期"); } @Test public void weekNumTest(){ weekNum(2017, 7, 8); } ~~~ ## 計算一年中的第幾星期是幾號 ~~~ public void dayNum(int year,int week){ calendar.clear(); SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.WEEK_OF_YEAR, week); calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); System.out.println(df.format(calendar.getTime())); } @Test public void dayNumTest(){ dayNum(2017,28); } ~~~ ## 查詢顯示當前的后幾天,前幾天等 ~~~ public void add(int year,int month,int day,int num){ calendar.clear(); SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, month-1); calendar.set(Calendar.DAY_OF_MONTH, day); Date date=calendar.getTime(); calendar.add(Calendar.DATE, num); date=calendar.getTime(); System.out.println(df.format(date)); } /*使用場景比如,發找回密碼郵件,設置一天后過期*/ @Test public void addTest(){ add(2017,7,10,1); } ~~~ roll()方法和add()方法用法一樣,不過roll()方法是在本月循環,比如,七月三十一號加五天,add()方法結果是八月五號; roll()方法是七月五號,roll()方法用到的少,一般add()使用較多。測試roll()方法: ~~~ public void roll(int year,int month,int day,int num){ calendar.clear(); SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, month-1); calendar.set(Calendar.DAY_OF_MONTH, day); Date date=calendar.getTime(); calendar.roll(Calendar.DATE, num); date=calendar.getTime(); System.out.println(df.format(date)); } @Test public void rollTest(){ roll(2017,7,31,5); } ~~~ ## 計算兩個任意時間中間相隔的天數 ~~~ public int getDaysBetween (Calendar day1, Calendar day2){ if (day1.after(day2)){ Calendar swap = day1; day1 = day2; day2 = swap; } int days = day2.get(Calendar.DAY_OF_YEAR) - day1.get(Calendar.DAY_OF_YEAR); int y2 = day2.get(Calendar.YEAR); if (day1.get(Calendar.YEAR) != y2){ day1 = (Calendar) day1.clone(); do{ days += day1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到當年的實際天數 day1.add(Calendar.YEAR, 1); } while (day1.get(Calendar.YEAR) != y2); } return days; } @Test public void getDaysBetweenTest(){ Calendar calendar1=Calendar.getInstance(); Calendar calendar2=Calendar.getInstance(); calendar1.set(2017,07,30); calendar2.set(2017,07,03); int days=getDaysBetween(calendar1, calendar2); System.out.println("相隔"+days+"天"); } ~~~ 計算任意兩個日期的相隔天數使用場景較多,如查詢某個時間段注冊的新用戶,或者某個時間段內銷售總額等等
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看