美文网首页Java web
日期时间工具类LocalDateTime()

日期时间工具类LocalDateTime()

作者: 任未然 | 来源:发表于2020-04-23 16:14 被阅读0次

一. 概述

以前在java处理时间, 我们都是用Date(), 但Date()在高并发中不安全, java8后推荐使用LocalDateTime()

二. API说明

方法 说明
format() 日期格式化
getYear 获取年
getMonthValue() 获取月
getDayOfYear() 获取一年中的第几天
getDayOfWeek().getValue() 获取星期几
getDayOfMonth() 获取一个月中的第几天
getHour() 获取小时
getMinute() 获取分钟
getSecond() 获取秒
compareTo() 日期比较, 小于返回负值, 大于放回正值
isAfter() 是否在指定日期之后
isBefore() 是否在指定日期之前
withHour() 修改时间的小时数为目标值
withDayOfMonth() 修改时间的月中天为目标值
withYear() 修改时间的年份为目标值
withMonth() 修改时间的月份为目标值
withDayOfYear() 修改时间的年中天为目标值
withHour() 修改时间的小时为目标值
withMinute() 修改时间的分钟为目标值
withMinute() 修改时间的分钟为目标值
withSecond() 修改时间的秒为目标值
minusDays() 当前时间减去指定天数
minusHours() 当前时间减去指定小时数
minusYears() 当前时间减去指定年数
minusMonths() 当前时间减去指定月数
minusMinutes() 当前时间减去指定分钟数
minusSeconds() 当前时间减去指定秒数
plusYears() 当前时间增加指定年数
plusMonths() 当前时间增加指定月数
plusDays() 当前时间增加指定天数
plusHours() 当前时间增加指定小时数
plusMinutes() 当前时间增加指定分钟
plusSeconds() 当前时间增加指定秒数

三. 使用示例

public static void main(String[] args) {
        // 日期格式类
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        // 字符串转日期
        LocalDateTime localDateTime = LocalDateTime.parse("2020-02-23 11:11:11",dateTimeFormatter);
        // 获取当前时间
        LocalDateTime now = LocalDateTime.now();
        // 日期转字符串
        String dateFormatter = localDateTime.format(dateTimeFormatter);
        //获取秒数
        Long second1 = localDateTime.toEpochSecond(ZoneOffset.of("+8"));
        //获取毫秒数
        Long milliSecond = localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
        // 时区
        ZoneId zoneId = ZoneId.systemDefault();
        // Date 转 LocalDateTime
        localDateTime = new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
        // LocalDateTime 转 Date
        Date date = Date.from(localDateTime.atZone(zoneId).toInstant());
        // 获取年
        int year = localDateTime.getYear();
        // 获取月
        int month = localDateTime.getMonthValue();
        // 获取一年中的第几天
        int dayOfYear = localDateTime.getDayOfYear();
        // 获取星期几
        int dayOfWeek = localDateTime.getDayOfWeek().getValue();
        // 获取月份的第几天
        int dayOfMonth = localDateTime.getDayOfMonth();
        // 获取小时
        int hour = localDateTime.getHour();
        // 获取分
        int minute = localDateTime.getMinute();
        // 获取秒
        int second = localDateTime.getSecond();
        // 日期比较, 小于返回负值, 大于放回正值
        int compare = localDateTime.compareTo(now);
        // 是否在日期之后
        boolean after = localDateTime.isAfter(now);
        // 是否在指定日期之前
        boolean before = localDateTime.isBefore(now);
        // 修改时间的小时数为目标值
        LocalDateTime localDateTime1 = localDateTime.withHour(18);
        // 修改时间的月中天为目标值
        LocalDateTime localDateTime2 = localDateTime.withDayOfMonth(13);
        // 修改时间的年份为目标值
        LocalDateTime localDateTime3 = localDateTime.withYear(2019);
        // 修改时间的月份为目标值
        LocalDateTime localDateTime4 = localDateTime.withMonth(2);
        // 修改时间的年中天为目标值
        LocalDateTime localDateTime5 = localDateTime.withDayOfYear(35);
        // 修改时间的小时为目标值
        LocalDateTime localDateTime6 = localDateTime.withHour(12);
        // 修改时间的分钟为目标值
        LocalDateTime localDateTime7 = localDateTime.withMinute(5);
        // 修改时间的秒为目标值
        LocalDateTime localDateTime8 = localDateTime.withSecond(24);
        // 当前时间减去指定天数
        LocalDateTime localDateTime9 = localDateTime.minusDays(12);
        // 当前时间减去指定小时数
        LocalDateTime localDateTime10 = localDateTime.minusHours(2);
        // 当前时间减去指定年数
        LocalDateTime localDateTime11 = localDateTime.minusYears(1);
        // 当前时间减去指定月数
        LocalDateTime localDateTime12 = localDateTime.minusMonths(4);
        // 当前时间减去指定分钟数
        LocalDateTime localDateTime13 = localDateTime.minusMinutes(5);
        // 当前时间减去指定秒数
        LocalDateTime localDateTime14 = localDateTime.minusSeconds(24);
        // 当前时间增加指定年数
        LocalDateTime localDateTime15 = localDateTime.plusYears(1);
        // 当前时间增加指定月数
        LocalDateTime localDateTime16 = localDateTime.plusMonths(3);
        // 当前时间增加指定天数
        LocalDateTime localDateTime17 = localDateTime.plusDays(4);
        // 当前时间增加指定小时数
        LocalDateTime localDateTime18 = localDateTime.plusHours(34);
        // 当前时间增加指定分钟
        LocalDateTime localDateTime19 = localDateTime.plusMinutes(3);
        // 当前时间增加指定秒数
        LocalDateTime localDateTime20 = localDateTime.plusSeconds(23);
    }

相关文章

网友评论

    本文标题:日期时间工具类LocalDateTime()

    本文链接:https://www.haomeiwen.com/subject/yjyaihtx.html