ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

开发中常用的Calendar方法

2022-02-24 23:03:52  阅读:88  来源: 互联网

标签:常用 format ca SimpleDateFormat 开发 Test new 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);
    }

标签:常用,format,ca,SimpleDateFormat,开发,Test,new,Calendar
来源: https://blog.csdn.net/lixiaoyu123456/article/details/123122867

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有