Date类
JDK8之前经常用来处理时间的类
方法 | 作用 |
---|---|
Date() | 构造方法,创建对象并获取当前的时间 |
Date(long time) | 构造方法,传入一个毫秒值并把其转化成一个Date对象池 |
setTime(long time) | 传入一个毫秒值,把这个毫秒值转换成对应时间的Date对象 |
getTime() | 获取当前Date对象对应的毫秒值 |
public class Test {
public static void main(String[] args) {
//获取当前时间的Date对象
Date date1 = new Date();
System.out.println(date1);
//获取指定毫秒值的Date对象
Date date2 = new Date(13232324);
System.out.println(date2);
//将一个Date对象设置为指定毫秒值的时间
date1.setTime(9876543);
System.out.println(date1);
//获取Date对象的毫秒值
long time = date2.getTime();
System.out.println("date2对象的毫秒值:"+time);
}
}
SimpleDateFormat类
SimpleDateFormat类的作用是格式化时间对象,把Date中的时间转换成自己想要的格式字符串
方法 | 作用 |
---|---|
SimpleDateFormat(String s) | 传入一个日期格式的字符串,定义一个转换日期的格式 |
format(Date date) | 传入一个Date对象按照格式转换成指定字符串 |
format(long time) | 传入一个毫秒值,把这个毫秒值转换成指定格式的日期字符串 |
parse(String s) | 传入一个字符串,把它解析成一个Date对象,这个字符串的格式一定要和SimpleDateFormat定义的格式一样,否则就会报错 |
public class Test {
public static void main(String[] args) throws ParseException {
//定义一个日期转换格式的对象
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//传入一个Date对象按照指定格式转换成字符串
Date date = new Date();
String s = dateFormat.format(date);
System.out.println(s);
//传入一个毫秒值按照指定格式转换成字符串
String s1 = dateFormat.format(23242142);
System.out.println(s1);
//传入一个指定字符串转换成对应的Date对象
Date date1 = dateFormat.parse("1999-10-1 12:30:00");
System.out.println(date1);
}
}
Calendar类
获取当前的日历对象,里面包括了当前的所有日期信息
方法 | 作用 |
---|---|
getInstance() | 静态方法,获取当前时间的日历对象 |
get(int field) | 获取日历中的某个信息 |
getTime() | 获得跟日历对象对应时间的日期对象 |
getTimeMillis() | 获取时间的毫秒值 |
set(int field,int value) | 修改日历的某个信息 |
add(int field,int amout) | 为某个信息增加或减少指定的值 |
public class Test {
public static void main(String[] args) {
//获取对象
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
//获取日历中的某个信息
calendar.get(Calendar.YEAR);
calendar.get(Calendar.MONTH);
//获取跟日历对象对应的日期对象
Date time = calendar.getTime();
System.out.println(time);
//获取时间的毫秒值
long timeInMillis = calendar.getTimeInMillis();
System.out.println(timeInMillis);
//修改日历的某个信息
calendar.set(Calendar.YEAR,2009);
System.out.println(calendar);
//为某个信息增加或减少指定的值
calendar.add(Calendar.YEAR,-99);
System.out.println(calendar);
}
}
LocalDate、 LocalTime、 LocalDateTime类
JDK8开始新增的处理时间的类,其中LocalDate可以处理年月日,LocalTime可以处理时分秒,LocalDateTime可以处理年月日时分秒,三个类的API十分的相似,可以互相借鉴,这里就只展示LocalDate的部分API即可
方法 | 作用 |
---|---|
now() | 静态方法,用来获取一个LocalDate对象 |
of(int year, int month, int day) | 静态方法,指定年月日的数值获取一个LocalDate对象 |
getYear() | 获取当前的年数据 |
getMonthValue() | 获取当前的月份 |
getDayOfMonth() | 获取当前的日数 |
getDayOfWeek().getValue() | 获取当前是星期几 |
getDayOfYear() | 获取当前是一年中的第几天 |
withYear(int year) | 改变当前的年份 |
withMonth(int month) | 改变当前月份 |
withDayOfMonth(int day) | 改变当前的日数 |
plusDays(int day) | 当前的日数加xxx天 |
plusMonths(int month) | 当前的月份加xxx月 |
plusYears(int year) | 当前的年份加xxx年 |
plusWeeks(int week) | 当前日期加一个星期 |
a.equals(b) | 判断a的日期等于b的日期 |
a.isAfter(b) | 判断a的日期是否大于b的日期 |
a.isBefore(b) | 判断a的日期是否小于b的日期 |
public class Test {
public static void main(String[] args) {
//创建LocalDate对象
LocalDate now = LocalDate.now();
//创建对象
LocalDate of = LocalDate.of(2001, 03, 19);
//获取当前的年数据
int year = now.getYear();
System.out.println(year);
//获取当前的月份
int month = now.getMonthValue();
System.out.println(month);
//获取当前的日数
int day = now.getDayOfMonth();
System.out.println(day);
//获取当前是星期几
int week = now.getDayOfWeek().getValue();
System.out.println(week);
//获取当前是一年中的第几天
int dayOfYear = now.getDayOfYear();
System.out.println(dayOfYear);
//改变当前的年份
LocalDate withYear = now.withYear(2022);
System.out.println(withYear);
//改变当前的月份
LocalDate withMonth = now.withMonth(2);
System.out.println(withMonth);
//改变当前的日数
LocalDate withDayOfMonth = now.withDayOfMonth(12);
System.out.println(withDayOfMonth);
//当前的日数加xxx天
LocalDate plusDays = now.plusDays(1);
System.out.println(plusDays);
//当前的月份加xxx天
LocalDate plusMonths = now.plusMonths(-1);
System.out.println(plusMonths);
//当前的年份加xxx年
LocalDate plusYears = now.plusYears(10);
System.out.println(plusYears);
//当前的日期加一个星期(就是加七天)
LocalDate plusWeeks = now.plusWeeks(1);
System.out.println(plusWeeks);
//判断now的日期是否等于of的日期
System.out.println(now.equals(of));
//判断now的日期是否大于of的日期
System.out.println(now.isAfter(of));
//判断now的日期是否小于of的日期
System.out.println(now.isBefore(of));
}
}