Java核心类库篇3——util
1、Date
用于描述特定的瞬间,也就是年月日时分秒,可以精确到毫秒
1.1、构造方法
方法声明 | 功能介绍 |
---|
public Date() | 获取当前时间表示的date对象 |
public Date(long date) | 根据给定的毫秒值创建date对象 |
public class Test {
public static void main(String[] args) {
Date date=new Date();
System.out.println(date);
Date date1 = new Date(10000);
System.out.println(date1);
}
}
Sun Jul 11 16:17:00 CST 2021
Thu Jan 01 08:00:10 CST 1970
1.2、方法
方法声明 | 功能介绍 |
---|
public boolean after(Date when) | 测试指定日期是否在指定日期之后 |
public boolean before(Date when) | 测试指定日期是否在指定日期之前 |
public Objec clone() | 新建此对象的副本 |
public int compareTo(Date anotherDate) | 比较两个日期字典大小 |
public long getTime() | 获取调用对象距离1970年1月1日0时0分0秒的毫秒数 |
public void setTime(long time) | 设置调用对象为距离基准时间time毫秒的时间点 |
public class Test {
public static void main(String[] args) {
Date date=new Date();
System.out.println(date);
Date date1 = new Date(10000);
System.out.println(date1);
System.out.println(date.after(date1));
System.out.println(date.compareTo(date1));
System.out.println(date1.getTime());
}
}
Sun Jul 11 16:20:21 CST 2021
Thu Jan 01 08:00:10 CST 1970
true
1
10000
2、 SimpleDateFormat
用于实现日期和文本之间的转换
2.1、构造方法
方法声明 | 功能介绍 |
---|
public SimpleDateFormat() | 用默认的格式和默认的语言环境构造 SimpleDateFormat |
public SimpleDateFormat(String pattern) | 用指定的格式和默认的语言环境构造 SimpleDateFormat |
public SimpleDateFormat(String pattern,Locale locale) | 用指定的格式和指定的语言环境构造 SimpleDateFormat |
public class Test {
public static void main(String[] args) {
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = new Date();
System.out.println(simpleDateFormat.format(date));
}
}
2021-07-11 04:23:26
2.2、方法
方法声明 | 功能介绍 |
---|
public Date parse(String source) | 用于将文本类型转换为日期类型 |
public class Test {
public static void main(String[] args) throws ParseException {
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String str = "2021-07-11 04:23:26";
Date date = simpleDateFormat.parse(str);
System.out.println(date);
}
}
Sun Jul 11 04:23:26 CST 2021
3、Calendar
Calendar 不能直接创建对象,但可以使用静态方法 getInstance() 获得代表当前日期的日历对象
3.1、构造方法
方法声明 | 功能介绍 |
---|
public static Calendar getInstance() | 用于获取Calendar类型的引用 |
public class Test {
public static void main(String[] args) throws ParseException {
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
}
}
3.2、方法
方法声明 | 功能介绍 |
---|
public void set(int year, int month, int date, int hourOfDay, int minute, int second) | 用于设置年月日时分秒信息 |
public Date getTime() | 用于将Calendar类型转换为 Date类型 |
public void set(int field, int value) | 设置指定字段的数值 void add(int field, int amount) 向指定字段增加数值 |
public class Test {
public static void main(String[] args) throws ParseException {
Calendar calendar = Calendar.getInstance();
calendar.set(2021,7,11,16,27,23);
calendar.set(Calendar.MONTH,6);
Date time = calendar.getTime();
System.out.println(time);
}
}
Sun Jul 11 16:27:23 CST 2021
4、LocalDate
用于描述年-月-日格式的日期信息,该类不表示时间和时区信息
4.1、构造方法
方法声明 | 功能介绍 |
---|
public static LocalDate now() | 在默认时区中从系统时钟获取当前日期 |
5、LocalTime
用于描述时间信息,可以描述时分秒以及纳秒
方法声明 | 功能介绍 |
---|
public static LocalTime now() | 从默认时区的系统时间中获取当前时间 |
public static LocalTime now(ZoneId zone) | 获取指定时区的当前时间 |
6、LocalDateTime
用于描述ISO-8601日历系统中没有时区的日期时间,如2007-12- 03T10:15:30
方法声明 | 功能介绍 |
---|
public static LocalDateTime now() | 从默认时区的系统时间中获取 当前日期时间 |
public static LocalTime now(ZoneId zone) | 获取指定时区的当前时间 |
public static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second) | 根据参数指定的年月日时分秒 信息来设置日期时间 |
public int getYear() | 获取年份字段的数值 |
public int getMonthValue() | 获取1到12之间的月份字段 |
public int getDayOfMonth() | 获取日期字段 |
public int getHour() | 获取小时数 |
public int getMinute() | 获取分钟数 |
public int getSecond() | 获取秒数 |
public LocalDateTime withYear(int year) | 设置为参数指定的年 |
public LocalDateTime withMonth(int month) | 设置为参数指定的月 |
public LocalDateTime withDayOfMonth(int dayOfMonth) | 设置为参数指定的日 |
public LocalDateTime withHour(int hour) | 设置为参数指定的时 |
public LocalDateTime withMinute(int minute) | 设置为参数指定的分 |
public LocalDateTime withSecond(int second) | 设置为参数指定的秒 |
public LocalDateTime plusYears(long years) | 加上参数指定的年 |
public LocalDateTime plusMonths(long months) | 加上参数指定的月 |
public LocalDateTime plusDays(long days) | 加上参数指定的日 |
public LocalDateTime plusHours(long hours) | 加上参数指定的时 |
public LocalDateTime plusMinutes(long minutes) | 加上参数指定的分 |
public LocalDateTime plusSeconds(long seconds) | 加上参数指定的秒 |
public LocalDateTime minusYears(long years) | 减去参数指定的年 |
public LocalDateTime minusMonths(long months) | 减去参数指定的月 |
public LocalDateTime minusDays(long days) | 减去参数指定的日 |
public LocalDateTime minusHours(long hours) | 减去参数指定的时 |
public LocalDateTime minusMinutes(long minutes) | 减去参数指定的分 |
public LocalDateTime minusSeconds(long seconds) | 减去参数指定的秒 |
7、Instant
用于描述瞬间的时间点信息
方法声明 | 功能介绍 |
---|
public static Instant now() | 从系统时钟上获取当前时间 |
public OffsetDateTime atOffset(ZoneOffset offset) | 将此瞬间与偏移量组合以创建偏移日期时间 |
public static Instant ofEpochMilli(long epochMilli) | 根据参数指定的毫秒数来构造对象,参数为距离1970年1月1 日0时0分0秒的毫秒数 |
public long toEpochMilli() | 获取距离1970年1月1日0时0分0秒的毫秒数 |
8、DateTimeFormatter
用于格式化和解析日期
方法声明 | 功能介绍 |
---|
public static DateTimeFormatter ofPattern(String pattern) | 根据参数指定的模式来获取对象 |
public String format(TemporalAccessor temporal) | 将参数指定日期时间转换为字符串 |
public TemporalAccessor parse(CharSequence text) | 将参数指定字符串转换为日期时间 |