欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java中三种获取时间的方式

程序员文章站 2022-05-07 21:45:33
...

java有三种方式可以获取当前时间(目前我用到的,若有其他见解,望不吝赐教)

  1. System.currentTimeMillis() :返回类型为Long,自1970年1月1日0时起的毫秒数
  2. Date:进入到源码可以看到其实就是相当于Date(System.currentTimeMillis())
  3. Calendar:获取当前系统时间,其中的Calendar.YEAR等方法代替了Date中的getYear等方法
    注意:
    Calendar中的获取当前月份的方法:Calendar.MONTH 底层是从0开始计算,所以获取的月份需要加1;
    Calendar中的获取当前周的第几天的方法:Calendar.DAY_OF_WEEK 底层获取一周中的第几天是从周日开始的,所以当前一周中的第几天需要减1;

下面是针对此三种方式的测试:

		/*
         * @description: 测试System.currentTimeMillis() Date  获取时间的区别
         */
        SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Long mills = System.currentTimeMillis();
        System.out.println("System.currentTimeMillis():mills=====>" + mills);
        String currentStr = dateformat.format(System.currentTimeMillis());
        System.out.println("System.currentTimeMillis():currentStr=====>" + currentStr);

        Date date = new Date();
        System.out.println("Date():date=====>" + date);
        String dateStr = dateformat.format(date);
        System.out.println("Date():dateStr=====>" + dateStr);

        /*
         * @description: 测试Calendar
         */
        Calendar cal = Calendar.getInstance();
        int dayCal = cal.get(Calendar.DATE);
        int monthCal = cal.get(Calendar.MONTH) + 1;
        int yearCal = cal.get(Calendar.YEAR);
        int day_week = cal.get(Calendar.DAY_OF_WEEK);
        int day_month = cal.get(Calendar.DAY_OF_MONTH);
        int day_year = cal.get(Calendar.DAY_OF_YEAR);

        System.out.println("Calendar:time======>" + cal.getTime());
        System.out.println("Calendar:dayCal======> " + dayCal);
        System.out.println("Calendar:monthCal======>" + monthCal);
        System.out.println("Calendar:yearCal======>" + yearCal);
        System.out.println("Calendar:day_week======>" + day_week);  // 星期日为一周的第一天输出为 1,星期一输出为 2,以此类推
        System.out.println("Calendar:day_month======>" + day_month);
        System.out.println("Calendar:day_year======>" + day_year);

执行结果:
java中三种获取时间的方式