day048:LocalDateTime中增加、减少、直接修改时间的方法、计算时间间隔的方法 您所在的位置:网站首页 一分钟55秒加一分钟39秒加上八小时24分钟是多少秒 day048:LocalDateTime中增加、减少、直接修改时间的方法、计算时间间隔的方法

day048:LocalDateTime中增加、减少、直接修改时间的方法、计算时间间隔的方法

2024-07-11 10:28| 来源: 网络整理| 查看: 265

接上节: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 }

增加月份、天数、小时、分钟等,都是调用相应的方法:

 2.增加或减少年份(第二种方法):调用minusYears()方法,括号中传入增加或减少的年数

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 }

增加月份、天数、小时、分钟等,都是调用相应的方法:

二、 LocalDateTime中直接修改时间的方法 1.使用with方法直接修改时间:

代码示例:

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 实验室设备网 版权所有