Date 和 SimpleDateFormat的常用方法:
System.currentTimeMillis(); // 获取当前时间到1970-01-01:00:00:00的毫秒数
Date date = new Date(); // 获取当前时间 Thu Oct 29 11:46:35 CST 2020
System.out.println(date.getTime()); // 将当前时间对象转化为毫秒数 1603943327016
Date date1 = new Date(1603943327016L); // 获取指定毫秒数的Date对象 Thu Oct 29 11:46:35 CST 2020
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 将日期对象转换成日期字符串
String format = sdf.format(new Date());
System.out.println(format); // 2020-10-29 16:22:26
try {
Date date2 = sdf.parse("2020-10-29 16:22:26"); // 将日期字符串转换成日期对象
System.out.println(date2); // Thu Oct 29 16:22:26 CST 2020
} catch (ParseException e) {
e.printStackTrace();
}
LocalDate,LocalTime,LocalDateTime常用方法:
LocalDate localDate = LocalDate.now(); // 获取当前日期 2020-10-29
System.out.println(localDate);
LocalTime localTime = LocalTime.now(); // 获取当前时间 20:38:46.067 精确到毫秒
System.out.println(localTime);
LocalDateTime localDateTime = LocalDateTime.now(); // 获取当前日期和时间 2020-10-29T20:38:46.067
System.out.println(localDateTime);
// 获取指定日期时间 2020-11-22T23:59:59
LocalDateTime localDateTime1 = LocalDateTime.of(2020, 11, 22, 23, 59, 59);
System.out.println(localDateTime1);
// getXxx()
int dayOfYear = localDateTime.getDayOfYear(); // 获取指定日期是一年中的第几天
System.out.println(dayOfYear);
int dayOfMonth = localDateTime.getDayOfMonth();// 获取指定日期是一月中的第几天
System.out.println(dayOfMonth);
DayOfWeek dayOfWeek = localDateTime.getDayOfWeek(); // 获取指定日期是星期几 THURSDAY
System.out.println(dayOfWeek);
int year = localDateTime.getYear(); // 获取年份 2020
System.out.println(year);
Month month = localDateTime.getMonth(); // 获取月份 OCTOBER
System.out.println(month);
int monthValue = localDateTime.getMonthValue(); // 获取月份 10 注意这里的月份不需要加1
System.out.println(monthValue);
int hour = localDateTime.getHour(); // 获取小时
int minute = localDateTime.getMinute(); // 获取分钟
int second = localDateTime.getSecond(); // 获取秒
// withXxx() 重新设置年,月,日,时,分,秒等。这些方法会返回新的LocalDateTime对象,原先的LocalDateTime对象的值不变
LocalDateTime localDateTime2 = localDateTime.withYear(2021);
System.out.println(localDateTime); // 2020-10-29T21:03:18.567
System.out.println(localDateTime2); // 2021-10-29T21:03:18.567
DateTimeFormatter常用方法:
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String format = dateTimeFormatter.format(LocalDateTime.now()); // 将LocalDateTime对象格式化成指定格式 2020-10-29 22:19:29
System.out.println(format);
TemporalAccessor parse = dateTimeFormatter.parse("2020-10-29 22:19:29"); // 将指定格式的日期时间字符串转换成日期时间 {},ISO resolved to 2020-10-29T22:19:29
System.out.println(parse);
Calendar 日历类:
Calendar calendar = Calendar.getInstance();
calendar.get(Calendar.DAY_OF_MONTH); // 当前是这个月的第几天
// 将日历类转换成日期对象
Date date2 = calendar.getTime();
/**
* 将指定日期转换成日历类
* 注意:
* 1. 获取的月份时,1月是0,2月是1,依次类推,所以通常都会加1
* 2. 获取星期时:星期日是1,星期六是7
*/
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date3 = sdf2.parse("2020-11-22");
calendar.setTime(date3);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
} catch (ParseException e) {
e.printStackTrace();
}