java中三种获取时间的方式
程序员文章站
2022-05-07 21:45:33
...
java有三种方式可以获取当前时间(目前我用到的,若有其他见解,望不吝赐教)
- System.currentTimeMillis() :返回类型为Long,自1970年1月1日0时起的毫秒数
- Date:进入到源码可以看到其实就是相当于Date(System.currentTimeMillis())
- 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);
执行结果:
下一篇: Dom--获取元素的三种方式