1.Date(JDK1.0)
new Date() 获取当前系统时间
new Date(long times) 根据毫秒数转化为Date类型对象
方法:
date.getTime() 获得1970-1-1凌晨距离date日期的毫秒数
Date date=new Date();
System.out.println(date);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String date1=sdf.format(date);
System.out.println("Date: "+date1);
2.Calendar (JDK1.1)
calendar可以进行时间的计算
对象的获得方式:Calendar.getInstance();
分别获得年月日时分秒get(Calendar.YEAR); //获取年
get(Calendar.HOUR_OF_DAY);//24小时制
getTime() 将Calendar类型的日期转化为Date类型
自己设置时间
set(int year,int month.....)
set(int field,int value);设置指定的元素值
Calendar cal=Calendar.getInstance();
date=cal.getTime();
cal.add(Calendar.DATE, 11); //天数增加11天
date1=sdf.format(date);
System.out.println("Calendar: "+date1);
3.LocalDateTime 年月日时分秒
LocalDate 年月日
LocalTime 时分秒
JDK1.8
(PS:注意这三个类的格式化方法是新的)DateTimeFormatter
这个也可以进行时间的计算,不过之前的时间不会改变需要一个新的时间进行赋值
对象的获取方式:
now();//当前系统时间
of(int year,int month....);//自己设置时间
分别获得年月日时分秒
System.out.println("年:"+ldt.getYear());
System.out.println("月:"+ldt.getMonthValue());
System.out.println("日:"+ldt.getDayOfMonth());
System.out.println("时:"+ldt.getHour());
System.out.println("分:"+ldt.getMinute());
System.out.println("秒:"+ldt.getSecond());
设置时间 (返回新的时间,不会对原时间改变)
plusXXX(long); 在当前日期或时间对象上加xx
minusXXX(long); 在当前日期或时间对象上减xx该类提供了三种格式化方法:
预定义的标准格式。如:ISO_DATE_TIME;ISO_DATE
本地化相关的格式。如:ofLocalizedDate(FormatStyle.MEDIUM)
自定义的格式。如:ofPattern(“yyyy-MM-dd hh:mm:ss”)
LocalDateTime ldt=LocalDateTime.now(); //获取系统的时间
System.out.println("LocalDateTime: "+ldt);
// DateTimeFormatter df=DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
System.out.println("DateTimeFormatter: "+df.format(ldt));
@Test//时间的计算
public void test06(){
LocalDate lai = LocalDate.of(2019, 5, 13);
LocalDate go = lai.plusDays(160);
System.out.println(go);//2019-10-20
}