date类及其方法:两种包的引用方式及区别
// java.util.Date date1 =new java.util.Date();只能在这一行使用
// import java.util.Date;整个文件都可以用
Date currentTimeData = new Date();// Data类定义的对象默认打印的是当前的时间
System.out.println(currentTimeData);
System.out.println(currentTimeData.toLocaleString());
// 方法上面多了@Deprecated<注解>,未来随时可能会被jdk删掉,即将过期的方法
java.sql.Date date = new java.sql.Date(System.currentTimeMillis());
// 因为引用了java.util,Date包,为了区别java.util.Date包使用
// 获取当前系统毫秒数,返回的是long类型
System.out.println(date);
SimpleDateFormat fmat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dataString = fmat.format(currentTimeData);
// SimpleDateFormat是一个简单日期格式化的类,将日期格式化成指定的格式
// format函数接受的是Data类对象的时间,输出的是String的格式
System.out.println(dataString);
try {
Date currentTimeDate2 = fmat.parse(dataString);// 将字符串解析成日期
} catch (ParseException e) { // 异常以后再学
// TODO Auto-generated catch block
e.printStackTrace();
}
// String类的substring方法和compareTo方法
String string1 = "2020-12-19 14:21:59";
System.out.println(string1.substring(11));
System.out.println(string1.substring(11, 19));
时间比较的两种方式
System.out.println("14:21:58".compareTo(string1.substring(11)));
//或者是将string格式的时间准换成时间类进行比较
//在Java 8中,可以使用新的isBefore(),isAfter(),isEqual()和compareTo()来比较LocalDate,LocalTime和LocalDateTime
Calender类及其方法的使用
Calendar cal = Calendar.getInstance();
// Calendar官方推荐的是调用方法进行实例化
cal.set(Calendar.YEAR, 2020);
System.out.println(cal.get(Calendar.YEAR));
cal.set(Calendar.MONTH, 11);
System.out.println(cal.get(Calendar.MONTH) + 1);// MONTH是从0开始到11
// DAY_OF_MONTH天一定是一个月的某一天
Calendar jiaoyiTimeCalendar = Calendar.getInstance();
cal.set(jiaoyiTimeCalendar.get(Calendar.YEAR), 11, 21, 0, 0, 0);
//set方法的参数为年月日时分秒
System.out.println(cal.getTime());
SimpleDateFormat fmat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// SimpleDateFormat是一个简单日期格式化的类,将日期格式化成指定的格式
String dataString = fmat.format(cal.getTime());
// format函数接受的是calender类对象调用方法得到的时间,输出的是String的格式
System.out.println(dataString);
cal.set(2022, 11, 22, 12, 12, 12);
cal.add(Calendar.YEAR, -2);// 改变了年份往后退两年,add函数修改日期的数据
System.out.println(cal.get(Calendar.YEAR));
System.out.println(cal.get(Calendar.MONTH)+1);
System.out.println(cal.get(Calendar.DAY_OF_MONTH));
System.out.println(cal.get(Calendar.HOUR_OF_DAY));
System.out.println(cal.get(Calendar.MINUTE));
System.out.println(cal.get(Calendar.SECOND));
System.out.println(cal.get(Calendar.MILLISECOND));
}
新版和旧版日期时间API
不推荐使用new的方法得到对象,一般是调用方法来得到
//三个时间类得到对象,设置时间/日期,获取时间/日期,修改时间/日期,字符串解析
/获取当前的时间
LocalDateTime currentDateTime =LocalDateTime.now();
System.out.println("当前时间;"+currentDateTime);//输出的是年-月-日 时:分:秒
//设定日期
LocalDate localDate =LocalDate.of(2020, Month.DECEMBER, 21);
System.out.println("localdatetime:"+localDate);
LocalDate date0 =LocalDate.now();
System.out.println("date0:"+date0);//默认是打印的是当前的日期
LocalDate date1 =currentDateTime.toLocalDate();//将当前时间转换成日期
System.out.println(date1);
//获取年月日时分秒
Month month =currentDateTime.getMonth();
int day =currentDateTime.getDayOfMonth();
int seconds = currentDateTime.getSecond();
//设定年月日时分秒
LocalDateTime dateTime =currentDateTime.withDayOfMonth(12).withHour(12);
//解析字符串
LocalTime localTime2 =LocalTime.parse("20:20:20");
System.out.println("localtime:"+localTime2);



