Date
java.util.Date类表示特定的时间,精确到毫秒。
Date拥有多个构造函数,只是部分已经过时,但是还有未过时的构造函数可以把毫秒值转成日期对象。
获取当前时间:
Date date1 = new Date(); System.out.println(date1);
计算当前时间距离标准基准时间1970年1月1日08:00:00的毫秒值:
long time = date1.getTime(); System.out.println(time);
(1970年1月1日00:00:00称为“历元”,由于我们处于东八区,所以基准时间为1970年1月1日08:00:00)
创建距离1970年1月1日08:00:00经过多少毫秒的时间:
Date date2 = new Date(10000); System.out.println(date2);
SimpleDateFormat
SimpleDateFormat用来实现日期和字符串的相互转换
SimpleDateFormat sdf = new SimpleDateFormat();
创建日期格式化类的对象,指定格式符号并获取当前时间:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date1 = new Date();
把日期转换成指定格式的字符串:
String format = sdf.format(date1); System.out.println(format);
把指定格式的字符串转换成日期:
String time ="2022/12/02 16:53:55"; Date date2 = sdf.parse(time); System.out.println(date2);
Calendar
Calendar类是一个抽象类,可以通过Calendar的getInstance方法返回一个Calendar对象
Calendar calendar = Calendar.getInstance();
获取当前系统的时间:
Date date1 = calendar.getTime(); System.out.println(date1);
获取当前时间的毫秒值:
Long timeInMillis = calendar.getTimeInMillis(); System.out.println(timeInMillis);
获取当前时区:
TimeZone timeZone = calendar.getTimeZone(); System.out.println(timeZone);
get方法:
get方法可以根据指定的日历字段获取时间对应的值,我们可以举几个例子:
//年 int year = calendar.get(Calendar.YEAR); System.out.println(year); //月 int month = calendar.get(Calendar.MONTH); System.out.println(month+1);//0-11,表示1-12月 //日(这个月的第几天) int date = calendar.get(Calendar.DAY_OF_MONTH); System.out.println(date); //日(这一年的第几天) int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR); System.out.println(dayOfYear);
set方法:
set方法可以获取指定时间:
calendar.set(2017,6,28,17,24,36); Date date2 = calendar.getTime(); System.out.println(date2);//月份0-11,表示1-12月