开发中常用的Calendar方法

2022/2/24 23:23:01

本文主要是介绍开发中常用的Calendar方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

开发中常用的Calendar方法

开发中我们常用Date和Calendar类, Date类从JDK1.0起就已经存在了,经过不停的迭代更新,导致它的大部分构造器,方法都已经过时淘汰,不再推荐使用。因此Java推荐使用Calendar来完成时间计算等操作。

本篇文章,通过Springboot的@Test 方法来记录一些开发中常用Calendar方法。(因为自己也很容易忘),需要的时候进行查看。希望也能帮助需要的人。

    @Test
    public void test1_4() {
        /**
         * 按时区获取当前时间
         */
        GregorianCalendar ca = new GregorianCalendar();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        format.setTimeZone(TimeZone.getTimeZone("Chile/Continental"));    //TimeZone.getTimeZone()传递一个id参数获取该地区的时间 //智利时区 Chile/Continental
        String time = format.format(ca.getTime());
        System.out.println(time);
    }

    @Test
    public void test1_5() {
        /**
         * 获取系统时间
         */
        GregorianCalendar ca = new GregorianCalendar();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = format.format(ca.getTime());
        System.out.println(time);
    }

    @Test
    public void test1_6() throws ParseException {
        /**
         * 获取系统时间 TimeStamp
         */
        GregorianCalendar ca = new GregorianCalendar();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(new Timestamp(format.parse(format.format(ca.getTime())).getTime()));
    }

    @Test
    public void test1_7() {
        /**
         * 获取系统时间 TimeStamp
         */
        Date date = new Date();
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String nowTime  = format.format(date);
        Timestamp buydate = Timestamp.valueOf(nowTime);
        System.out.println(buydate);
    }

    @Test
    public void test1_8() {
        /**
         * 获取指定的日期  以天为单位
         * Timestamp 类型
         * 比如今天24号 减一就是 23号
         */
        String formatType = "yyyy-MM-dd HH:mm:ss";
        String space = "-1";

        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.add(Calendar.DATE,Integer.valueOf(space));
        System.out.println(Timestamp.valueOf(new SimpleDateFormat(formatType).format(calendar.getTime())));
    }

    @Test
    public void test1_9() {
        /**
         * 获取指定的日期  以月为单位
         * Timestamp 类型
         * 比如今天2月 减2就是上月是12月
         */
        String formatType = "yyyy-MM-dd HH:mm:ss";
        String space = "-2";

        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.add(Calendar.MONTH,Integer.valueOf(space));
        System.out.println(Timestamp.valueOf(new SimpleDateFormat(formatType).format(calendar.getTime())));
    }

    @Test
    public void test1_10() {
        /**
         * 获取年月日日期
         */
        GregorianCalendar ca = new GregorianCalendar();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        String time = format.format(ca.getTime());
        System.out.println(time);
    }


    @Test
    public void test1_11() {
        /**
         * 获取当天最后时间last
         */
        GregorianCalendar ca = new GregorianCalendar();
        ca.set(ca.get(Calendar.YEAR),ca.get(Calendar.MONTH),ca.get(Calendar.DATE),23,59,59);
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateLast = format.format(ca.getTime());
        System.out.println(dateLast);
    }


    @Test
    public void  test1_12(){
        /**
         * 获取当天最开始的时间
         */
        GregorianCalendar ca = new GregorianCalendar();
        ca.set(ca.get(Calendar.YEAR),ca.get(Calendar.MONTH),ca.get(Calendar.DATE),0,0,0);
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateFirst =  format.format(ca.getTime());
        System.out.println(dateFirst);
    }


    @Test
    public void  test1_13(){
        /**
         * 获取系统昨天日期
         * 例如今天24号,昨天23号
         */
        Calendar ca = Calendar.getInstance();
        ca.add(Calendar.DATE ,-1);
        String yesterDay = new SimpleDateFormat("yyyy-MM-dd").format(ca.getTime());
        System.out.println(yesterDay);
    }

    @Test
    public  void  test1_14(){
        /**
         * 获取系统前天日期
         * 例如今天24号,前天22号
         */
        Calendar ca = Calendar.getInstance();
        ca.add(Calendar.DATE,-2);
        String theDayBeforeYesterDay = new SimpleDateFormat("yyyy-MM-dd").format(ca.getTime());
        System.out.println(theDayBeforeYesterDay);
    }

    @Test
    public  void  test1_15(){
        /**
         * 获取系统明天天日期
         * 例如今天24号,明天25号
         */
        Calendar ca = Calendar.getInstance();
        ca.add(Calendar.DATE,+1);
        String tomorrow = new SimpleDateFormat("yyyy-MM-dd").format(ca.getTime());
        System.out.println(tomorrow);
    }


    @Test
    public void  test1_16(){
        /**
         * 获取当月的第一天
         */
        Calendar ca = Calendar.getInstance();
        ca.set(Calendar.DAY_OF_MONTH,1);  //即当月的第一天
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        String first =  format.format(ca.getTime());
        System.out.println(first);
    }


    @Test
    public void test1_17(){
        /**
         * 获取当月的最后一天
         */
        Calendar ca = Calendar.getInstance();
        ca.set(Calendar.DAY_OF_MONTH,ca.getActualMaximum(Calendar.DAY_OF_MONTH));
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String last = format.format(ca.getTime());
        System.out.println(last);
    }


这篇关于开发中常用的Calendar方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程