public static LocalDateTime of (年, 月 , 日, 时, 分, 秒)
使用指定年月日和时分秒初始化一个LocalDateTime对象
代码演示:
publicstaticvoidmain(String[] args){LocalDateTime now =LocalDateTime.now();System.out.println(now);LocalDateTime localDateTime =LocalDateTime.of(2020,11,11,11,11,11);System.out.println(localDateTime);}
LocalDateTime获取方法:
方法名
说明
public int getYear()
获取年
public int getMonthValue()
获取月份(1-12)
public int getDayOfMonth()
获取月份中的第几天(1-31)
public int getDayOfYear()
获取一年中的第几天(1-366)
public DayOfWeek getDayOfWeek()
获取星期
public int getMinute()
获取分钟
public int getHour()
获取小时
代码演示:
publicstaticvoidmain(String[] args){LocalDateTime now =LocalDateTime.now();// public int getYear() 获取年System.out.println("年:"+ now.getYear());// public int getMonthValue() 获取月份(1-12)System.out.println("月:"+ now.getMonthValue());// public int getDayOfMonth() 获取月份中的第几天(1-31)System.out.println("月份的第"+ now.getDayOfMonth()+"天");// public int getDayOfYear() 获取一年中的第几天(1-366)System.out.println("月份的第"+ now.getDayOfYear()+"天");// public DayOfWeek getDayOfWeek() 获取星期System.out.println("今天是:"+ now.getDayOfWeek());// public int getMinute() 获取分钟System.out.println("分钟:"+ now.getMinute());// public int getHour() 获取小时System.out.println("小时"+ now.getHour());}
LocalDateTime转换方法:
方法名
说明
public LocalDate toLocalDate ()
转换成为一个LocalDate对象
public LocalTime toLocalTime ()
转换成为一个LocalTime对象
publicstaticvoidmain(String[] args){LocalDateTime now =LocalDateTime.now();// toLocalDate:只保留年月日System.out.println(now.toLocalDate());// toLocalTime:只保留时分秒System.out.println(now.toLocalTime());}
public static DateTimeFormatter ofPattern(String pattern)
使用指定的日期模板获取一个日期格式化器DateTimeFormatter对象
publicstaticvoidmain(String[] args){// public String format (指定格式) 把一个LocalDateTime格式化成为一个字符串LocalDateTime now =LocalDateTime.now();DateTimeFormatter dtf =DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");String s = now.format(dtf);System.out.println(s);// public LocalDateTime parse (准备解析的字符串, 解析格式) 把一个日期字符串解析成为一个LocalDateTime对象String ss ="2021年01月01日 01:01:01";DateTimeFormatter dtf2 =DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");System.out.println(LocalDateTime.parse(ss,dtf2));}
LocalDateTime增加&减少时间方法:
方法名
说明
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 plusWeeks(long weeks)
添加或者减去周
publicstaticvoidmain(String[] args){// public LocalDateTime plusYears (long years) 添加或者减去年LocalDateTime now =LocalDateTime.now();System.out.println(now.plusYears(1));System.out.println(now.plusYears(-1));// 传递负数就是减少}
public LocalDateTime withDayOfMonth(int dayofmonth)
直接修改日期(一个月中的第几天)
public LocalDateTime withDayOfYear(int dayOfYear)
直接修改日期(一年中的第几天)
public LocalDateTime withHour(int hour)
直接修改小时
public LocalDateTime withMinute(int minute)
直接修改分钟
public LocalDateTime withSecond(int second)
直接修改秒
publicstaticvoidmain(String[] args){LocalDateTime now =LocalDateTime.now();// public LocalDateTime withYear(int year) 直接修改年System.out.println(now.withYear(2099));}
Period:
计算两个时间的间隔年月日
方法名
说明
public static Period between(开始时间,结束时间)
计算两个“时间"的间隔
public int getYears()
获得这段时间的年数
public int getMonths()
获得此期间的总月数
public int getDays()
获得此期间的天数
public long toTotalMonths()
获取此期间的总月数
publicstaticvoidmain(String[] args){// public static Period between(开始时间,结束时间) 计算两个“时间"的间隔LocalDate lo1 =LocalDate.of(2021,01,01);LocalDate lo2 =LocalDate.of(2099,11,21);Period period =Period.between(lo1, lo2);//打印结果P78Y10M20D:Period方法,78年,10月,20日// public int getYears() 获得这段时间的年数System.out.println(period.getYears());// public int getMonths() 获得此期间的总月数System.out.println(period.getMonths());// public int getDays() 获得此期间的天数System.out.println(period.getDays());// public long toTotalMonths() 获取此期间的总月数System.out.println(period.toTotalMonths());}
Duration:
计算两个时间的间隔秒毫秒纳秒
方法名
说明
public static Durationbetween(开始时间,结束时间)
计算两个“时间"的间隔
public long toSeconds()
获得此时间间隔的秒
public int toMillis()
获得此时间间隔的毫秒
public int toNanos()
获得此时间间隔的纳秒
publicstaticvoidmain(String[] args){LocalDateTime lo1 =LocalDateTime.of(2021,1,1,13,14,15);LocalDateTime lo2 =LocalDateTime.of(2099,3,9,19,42,53);// public static Durationbetween(开始时间,结束时间) 计算两个“时间"的间隔Duration duration =Duration.between(lo1, lo2);// public long toSeconds() 获得此时间间隔的秒System.out.println(duration.toSeconds());// public int toMillis() 获得此时间间隔的毫秒System.out.println(duration.toMillis());// public int toNanos() 获得此时间间隔的纳秒,1秒=1000毫秒=1000000纳秒System.out.println(duration.toNanos());}