Java时间日期类
时间类格式(格式转换见另篇)
Date currentTimeData = new Date();// Data类定义的对象默认打印的是当前的时间
System.out.println("currentTimeData:"+currentTimeData);
// 方法上面多了@Deprecated<注解>,未来随时可能会被jdk删掉,即将过期的方法
System.out.println("currentTimeData.toLocaleString():"+currentTimeData.toLocaleString());
// 因为引用了java.util,Date包,为了区别java.util.Date包使用
// 获取当前系统毫秒数,返回的是long类型
java.sql.Date date = new java.sql.Date(System.currentTimeMillis());
System.out.println("date:"+date);
Calendar instance = Calendar.getInstance();
System.out.println("instance: "+instance);
System.out.println("instance.getTime(): "+instance.getTime());
LocalDateTime now = LocalDateTime.now();
System.out.println("now: "+now);
LocalDate now1 = LocalDate.now();
System.out.println("now1: "+now1);
LocalTime now2 = LocalTime.now();
System.out.println("now2: "+now2);
currentTimeData:Wed Oct 26 15:35:54 CST 2022
currentTimeData.toLocaleString():2022年10月26日 下午3:35:54
date:2022-10-26
instance: java.util.GregorianCalendar[time=1666771007879,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id=“Asia/Shanghai”,offset=28800000,dstSavings=0,useDaylight=false,transitions=29,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2022,MONTH=9,WEEK_OF_YEAR=44,WEEK_OF_MONTH=5,DAY_OF_MONTH=26,DAY_OF_YEAR=299,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=3,HOUR_OF_DAY=15,MINUTE=56,SECOND=47,MILLISECOND=879,ZONE_OFFSET=28800000,DST_OFFSET=0]
instance.getTime(): Wed Oct 26 15:56:47 CST 2022
now: 2022-10-26T15:59:31.360442300
now1: 2022-10-26
now2: 15:59:31.361442700
时间相关的比较
String string1 = "2022-10-10 13:14:00";
System.out.println("11, 19 : " + string1.substring(11, 19));
//时间比较的两种方式
System.out.println("String compareTo : " + "14:13:00".compareTo(string1.substring(11, 19)));
//date时间类型比较
Date nowDate = new Date();
Date min = new Date(System.currentTimeMillis() - 60000);
boolean after1 = nowDate.after(min);
boolean before1 = nowDate.before(min);
int i1 = nowDate.compareTo(min);
System.out.println("after : " + after1 + " \nbefore : " + before1 + "\n i : " + i1);
//在Java 8中,可以使用新的isBefore(),isAfter(),isEqual()和compareTo()来比较LocalDate,LocalTime和LocalDateTime
LocalDateTime now = LocalDateTime.now();
LocalDateTime time = LocalDateTime.of(2022, 10, 10, 13, 14);
boolean after2 = now.isAfter(time);
boolean before2 = now.isBefore(time);
int i2 = now.compareTo(time);
System.out.println("after : " + after2 + " \nbefore : " + before2 + "\n i : " + i2);
11, 19 : 13:14:00
String compareTo : 1
after : true
before : false
i : 1
after : true
before : false
i : 16
Calender类属性值设置(以年为例)
// Calendar官方推荐的是调用方法进行实例化
Calendar cal = Calendar.getInstance();
// set方法的参数为年月日时分秒
cal.set(Calendar.YEAR, 2020);
// 设置时间全部的属性值
cal.set(2022, 11, 22, 13, 14, 12);
cal.add(Calendar.YEAR, -2);// 改变了年份往后退两年,add函数修改日期的数据