Java LocalDateTime常用操作方法
Java LocalDateTime是一个不可变的类,代表日期和时间,使用方法和Date和Calendar有所不同。下面是Java LocalDateTime常用操作方法的完整攻略。
创建LocalDateTime
LocalDateTime的创建方法有以下几种方式:
1. 使用now()方法创建
使用now()方法创建当前时间的LocalDateTime:
LocalDateTime currentTime = LocalDateTime.now();
2. 使用of()方法创建
使用of()方法创建指定的LocalDateTime:
LocalDateTime customTime = LocalDateTime.of(2022, 7, 1, 8, 30, 0);
// 2022-07-01 08:30:00
LocalDateTime的常用操作方法
LocalDateTime有众多的常用操作方法,下面将层层解析这些方法。
1. 格式化LocalDateTime
使用DateTimeFormatter类可以将LocalDateTime格式化为字符串,或将字符串转换为LocalDateTime:
// 将LocalDateTime格式化为字符串
LocalDateTime currentTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String currentTimeString = currentTime.format(formatter);
// 2021-10-08 14:30:00
// 将字符串转换为LocalDateTime
LocalDateTime customTime = LocalDateTime.parse("2022-07-01 08:30:00", formatter);
2. 获取LocalDateTime的年月日时分秒
获取LocalDateTime的年、月、日、时、分、秒等属性:
// 获取年份
int year = currentTime.getYear();
// 获取月份
int month = currentTime.getMonthValue();
// 获取日份
int day = currentTime.getDayOfMonth();
// 获取小时
int hour = currentTime.getHour();
// 获取分钟
int minute = currentTime.getMinute();
// 获取秒数
int second = currentTime.getSecond();
3. 增加/减少LocalDateTime的时间
使用plus和minus方法可以实现增加或减少LocalDateTime的时间:
// 增加10年
LocalDateTime afterTenYears = currentTime.plusYears(10);
// 减少1月
LocalDateTime beforeOneMonth = currentTime.minusMonths(1);
4. 判断两个LocalDateTime的大小
使用compareTo方法比较两个LocalDateTime的大小:
LocalDateTime time1 = LocalDateTime.of(2021, 10, 10, 10, 10, 10);
LocalDateTime time2 = LocalDateTime.of(2021, 10, 10, 10, 10, 20);
int result = time1.compareTo(time2);
// -1,time1在time2之前
示例
示例 1:计算当前时间距离指定时间的天数
LocalDateTime currentTime = LocalDateTime.now();
LocalDateTime customTime = LocalDateTime.of(2022, 1, 1, 0, 0, 0);
// 计算当前时间距离指定时间的天数
Duration duration = Duration.between(currentTime, customTime);
long days = duration.toDays();
System.out.println("距离2022年元旦还有" + days + "天");
输出结果:
距离2022年元旦还有84天
示例 2:计算两个时间之间的时间差
LocalDateTime time1 = LocalDateTime.of(2021, 9, 1, 10, 0, 0);
LocalDateTime time2 = LocalDateTime.of(2021, 10, 1, 10, 0, 0);
// 计算两个时间之间的时间差
Duration duration = Duration.between(time1, time2);
long days = duration.toDays();
long hours = duration.toHours() - days * 24;
long minutes = duration.toMinutes() - days * 24 * 60 - hours * 60;
System.out.println("两个时间相差:");
System.out.println(days + "天" + hours + "小时" + minutes + "分");
输出结果:
两个时间相差:
30天0小时0分
以上就是Java LocalDateTime常用操作方法的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java LocalDateTime常用操作方法 - Python技术站