day048:LocalDateTime中增加、减少、直接修改时间的方法、计算时间间隔的方法 | 您所在的位置:网站首页 › 一分钟55秒加一分钟39秒加上八小时24分钟是多少秒 › day048:LocalDateTime中增加、减少、直接修改时间的方法、计算时间间隔的方法 |
接上节:day047:时间日期类:SimpleDateFormat、LocalDateTime_ZQyyds:)的博客-CSDN博客
一、LocalDateTime中增加或者减少时间的方法
1.增加或减少年份(第一种方法):调用plusYears()方法,括号中传入增加或减少的年数
当传入的参数为正数时,表示增加年份当传入的参数为负数时,表示减少年份
代码示例: public static void main(String[] args) { //先创建一个LocalDateTime对象:2020,11,11,13:14:15 LocalDateTime localDateTime = LocalDateTime.of(2020, 11, 11, 13, 14, 15); //用对象调用plusYears方法(也可以调用月、日、小时等等的方法) //这里是增加年份的方法,传入参数1,表示年数增加1 LocalDateTime newLocalDateTime = localDateTime.plusYears(1); //再格式化一下 DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss"); String s = newLocalDateTime.format(pattern); System.out.println(s); //输出2021年11月11日 13:14:15 }增加月份、天数、小时、分钟等,都是调用相应的方法: minus与plus不同的是: 当传入的参数为正数时,表示减少年份当传入的参数为负数时,表示增加年份代码示例: public static void main(String[] args) { //先创建一个LocalDateTime对象:2020,11,11,13:14:15 LocalDateTime localDateTime = LocalDateTime.of(2020, 11, 11, 13, 14, 15); //传入参数-1,因为minus与plus方法相反,参数为负数时,表示增加相应的时间,所以这里表示年数增加1 LocalDateTime minus = localDateTime.minusYears(-1); //再格式化一下 DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String s = minus.format(pattern); System.out.println(s); //输出2021-11-11 13:14:15 }增加月份、天数、小时、分钟等,都是调用相应的方法: 代码示例: public static void main(String[] args) { //先创建一个LocalDateTime对象:2020,11,11,13:14:15 LocalDateTime localDateTime = LocalDateTime.of(2020, 11, 11, 13, 14, 15); //调用withYear()方法,参数传入想要修改成的时间,这里修改年份为2022 LocalDateTime newLocalDateTime1 = localDateTime.withYear(2022); //再格式化一下 DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String s = newLocalDateTime1.format(pattern); System.out.println(s); }直接修改月份、天数、小时、分钟等,都是调用相应的方法: 三、LocalDateTime中计算时间间隔的方法 1.使用Period.between(开始时间,结束时间)方法获取时间间隔的年月日: 注:Period.between中传入的参数是LocalDate型的对象,LocalDate型只包含年月日 步骤: 先创建两个LocalDate对象再使用Period调用between方法,传入两个LocalDate对象参数,再传给Period对象 再使用period对象调用获取相应时间的方法 代码示例: public static void main(String[] args) { //先创建LocalDate对象 LocalDate localDate1 = LocalDate.of(2020, 1, 1); LocalDate localDate2 = LocalDate.of(2022, 1, 1); //再使用Period调用between方法,传给Period对象 Period period = Period.between(localDate1, localDate2); //再使用period对象调用获取相应时间的方法 //获取相差的年份 int periodYears = period.getYears(); //获取相差的月份 int periodMonths = period.getMonths(); //获取相差的天数 int periodDays = period.getDays(); System.out.println("相差" + periodYears + "年" + periodMonths + "月" + periodDays + "日"); //输出:相差2年0月0日 } 2.使用Duration.between(开始时间,结束时间)方法获取时间间隔的秒、毫秒、纳秒:注:Duration.between中传入的参数是LocalDateTime型的对象,LocalDateTime型包含年月日时分秒 步骤: 先创建两个LocalDateTime对象再使用Duration调用between方法,传入两个LocalDateTime对象参数,再传给Duration对象 再使用Duration对象调用获取相应时间的方法 代码示例: LocalDateTime localDateTime1 = LocalDateTime.of(2022, 11, 11, 13, 14, 15); LocalDateTime localDateTime2 = LocalDateTime.of(2023, 11, 11, 13, 15, 15); Duration duration = Duration.between(localDateTime1, localDateTime2); long seconds = duration.toSeconds(); long millis = duration.toMillis(); long nanos = duration.toNanos(); System.out.println("相差" + seconds + "秒,即" + millis + "毫秒,即" + nanos + "纳秒"); |
CopyRight 2018-2019 实验室设备网 版权所有 |