国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java 獲取日期前一年、月、日,指定日期的前幾天,后幾天

這篇具有很好參考價值的文章主要介紹了Java 獲取日期前一年、月、日,指定日期的前幾天,后幾天。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 方法1: 如果是 java8, 可以使用 LocalDate 獲取

         // 獲取當(dāng)前日期前一天的日期
         LocalDate localDate = LocalDate.now().minusDays(1);//1代表提前多少天
         // 獲取時間字符串如: 2023-03-01
         System.out.println(localDate.toString());
         // 獲取當(dāng)前年如 2023
         System.out.println(localDate.getYear());
         // 獲取當(dāng)前月如 3
         System.out.println(localDate.getMonthValue());
         // 獲取當(dāng)前天如 1
       ? System.out.println(localDate.getDayOfMonth());
? ? ? ? ?//獲取前一天的日期
         String date = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));//轉(zhuǎn)為String類型

LocalDate轉(zhuǎn)化為指定格式的字符串

方法1

        LocalDate localDate = LocalDate.parse("2022-02-02");
        String date = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
        System.out.println(date); //2022-02-02

方法2文章來源地址http://www.zghlxwxcb.cn/news/detail-519001.html

        LocalDate localDate = LocalDate.parse("2022-02-02");
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        String date = dtf.format(localDate);
        System.out.println(date); //2022-02-02

2. 方法2: 使用 Calendar 類

        //獲取當(dāng)前日期
        Date date = new Date();
        //將時間格式化成yyyy-MM-dd HH:mm:ss的格式
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //創(chuàng)建Calendar實例
        Calendar cal = Calendar.getInstance();
        //設(shè)置當(dāng)前時間
        cal.setTime(date);
        //在當(dāng)前時間基礎(chǔ)上減一年
        cal.add(Calendar.YEAR, -1);  
        System.out.println(format.format(cal.getTime()));
        //在當(dāng)前時間基礎(chǔ)上減一月
        cal.add(Calendar.MONTH,-1);
        System.out.println(format.format(cal.getTime()));
        //同理增加一天的方法:
        cal.add(Calendar.DATE, 1);
        System.out.println(format.format(cal.getTime()));

3. 獲取指定時間

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//定義日期顯示格式
        String now = sdf.format(new Date());//當(dāng)前日期
        String nowMonthLateDay = getNextDays(now, "-1");//當(dāng)前日期的前一天
        Calendar datees = Calendar.getInstance();
        String years = String.valueOf(datees.get(Calendar.YEAR)) + "-11-15";//獲取當(dāng)前年的11-15
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//定義日期顯示格式
        Calendar c = Calendar.getInstance();
        c.add(Calendar.MONTH, -1);//當(dāng)前月減去一個月
        String before = sdf.format(c.getTime());//上個月的當(dāng)前日期
        String now = sdf.format(new Date());//當(dāng)前日期
        String nowMonthLateDay = getNextDay(now, "-1");//當(dāng)前日期的前一天
        String lateMonthLateDay = getNextDay(before, "-1");//上個月的當(dāng)前日期的前一天
        Calendar cal = Calendar.getInstance();
//        int m=cal.get(Calendar.MONTH)+1;//獲取當(dāng)前月份
//        System.err.println("當(dāng)前月份:"+m);
        String nowMonthFirstDay = getFirstDayOfMonth(1);//獲取當(dāng)前月份的第一天
        cal.add(Calendar.MONTH, -1);
        cal.set(Calendar.DAY_OF_MONTH, 1); //重寫當(dāng)前日期
        String lateMonthFirstDay = sdf.format(cal.getTime());//獲取上個月的第一天

4. 獲取當(dāng)前年度,如果超過某個時間,就減去一年或者加上一年

  Date date = new Date();//獲取日期
        SimpleDateFormat dateFormats= new SimpleDateFormat("yyyy");//日期格式
        String year=dateFormats.format(date);//獲取當(dāng)前年度
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        //把String轉(zhuǎn)為LocalDate
        LocalDate localTime=LocalDate.parse(year+"-06-30",dtf);
        Integer years=Integer.valueOf(year);
        if (!LocalDate.now().isAfter(localTime)){//判斷時間是否超過
            years=Integer.valueOf(year)-1;
        }
        System.err.println(years);
    }

5. 獲取時間的工具類


    /**
     * 將短時間格式字符串轉(zhuǎn)換為時間 yyyy-MM-dd
     *
     * @param strDate
     * @return
     */
    public static Date strToDate(String strDate) {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        ParsePosition pos = new ParsePosition(0);
        Date strtodate = formatter.parse(strDate, pos);
        return strtodate;
    }

    /**
     * 得到一個時間延后或前移幾天的時間,nowdate為時間,delay為前移或后延的天數(shù)
     */
    public static String getNextDay(String nowdate, String delay) {
        try {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            String mdate = "";
            Date d = strToDate(nowdate);
            long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;
            d.setTime(myTime * 1000);
            mdate = format.format(d);
            return mdate;
        } catch (Exception e) {
            return "";
        }
    }


    /**
     * 得到一個時間延后或前移幾天的時間,nowdate為時間,delay為前移或后延的天數(shù)
     */
    public static String getNextDays(String nowdate, String delay) {
        try {
            SimpleDateFormat format = new SimpleDateFormat("-MM-dd");
            String mdate = "";
            Date d = strToDate(nowdate);
            long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;
            d.setTime(myTime * 1000);
            mdate = format.format(d);
            return mdate;
        } catch (Exception e) {
            return "";
        }
    }

    /**
     * 獲取當(dāng)前小時
     *
     * @return
     */
    public static String getTimeShort() {
        SimpleDateFormat formatter = new SimpleDateFormat(" HH");
        Date currentTime = new Date();
        String dateString = formatter.format(currentTime);
        return dateString;
    }

    /**
     * 獲取當(dāng)前月第一天
     *
     * @param month
     * @return
     */
    public static String getFirstDayOfMonth(int month) {
        Calendar calendar = Calendar.getInstance();
        // 設(shè)置月份
        calendar.set(Calendar.MONTH, month - 1);
        // 獲取某月最小天數(shù)
        int firstDay = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);
        // 設(shè)置日歷中月份的最小天數(shù)
        calendar.set(Calendar.DAY_OF_MONTH, firstDay);
        // 格式化日期
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String firstDays = sdf.format(calendar.getTime());
        return firstDays;
    }
//g過去年度
    public  static String gerLateYear(Integer num){
        SimpleDateFormat format = new SimpleDateFormat("yyyy");
        Calendar c = Calendar.getInstance();
        //過去一年
        c.setTime(new Date());
        c.add(Calendar.YEAR, num);
        Date y = c.getTime();
        String year = format.format(y);
        return  year;

    }
    //判斷是否超過指定時間
    public static boolean afterDate(String date) {
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");

        //把String轉(zhuǎn)為LocalDate
        LocalDate localTime = LocalDate.parse(date, dtf);
        //判斷當(dāng)前日期是否大于指定日期
        return LocalDate.now().isAfter(localTime);
    }

到了這里,關(guān)于Java 獲取日期前一年、月、日,指定日期的前幾天,后幾天的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包