Java时间日期工具类

连夜写了一个时间日期工具类,希望可以帮得到你们。

import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;

/**
 * @Author 空巷
 * @Date 2020/7/6
 */
public class DateUtil {

    /**
     * 返回当前日期
     * @return
     */
    public static String getDate(){
        return String.valueOf(LocalDate.now());
    }

    /**
     * 获取当前时间
     * @return
     */
    public static String getTime(){
        return String.valueOf(LocalTime.now());
    }

    /**
     * 获取当前日期时间
     * @return
     */
    public static String getDateTime(){
        return String.valueOf(LocalDateTime.now());
    }

    /**
     * 获取当前时间戳
     * @return
     */
    public static long getTimestamp(){
        return Instant.now().toEpochMilli();
    }

    /**
     * 将时间戳转化为日期格式
     * @param timestamp
     * @return
     */
    public static String TimestampToDatetime(long timestamp){
        Instant instant = Instant.ofEpochMilli(timestamp);
        return String.valueOf(LocalDateTime.ofInstant(instant, ZoneId.systemDefault()));
    }

    /**
     * 将当前日期时间转化为指定格式
     * @param formatter
     * @return
     */
    public static String dateTimeFormatter(String formatter){
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(formatter);
        return LocalDateTime.now().format(dateTimeFormatter);
    }

    /**
     * 将当前日期转化为指定格式
     * @param formatter
     * @return
     */
    public static String dateFormatter(String formatter){
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(formatter);
        return LocalDate.now().format(dateTimeFormatter);
    }

    /**
     * 将当前时间转化为知道格式
     * @param formatter
     * @return
     */
    public static String timeFormatter(String formatter){
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(formatter);
        return LocalTime.now().format(dateTimeFormatter);
    }

    /**
     * 将自定义的日期转化为指定格式
     * @param date
     * @param formatter
     * @return
     */
    public static String selfDateFormatter(String date,String formatter){
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(formatter);
        return String.valueOf(LocalDate.parse(date,dateTimeFormatter));
    }

    /**
     * 将自定义的日期时间转化为指定格式
     * @param date
     * @param formatter
     * @return
     */
    public static String selfDateTimeFormatter(String date,String formatter){
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(formatter);
        return String.valueOf(LocalDateTime.parse(date,dateTimeFormatter));
    }

    /**
     * 将自定义的时间转化为指定格式
     * @param date
     * @param formatter
     * @return
     */
    public static String selfTimeFormatter(String date,String formatter){
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(formatter);
        return String.valueOf(LocalTime.parse(date,dateTimeFormatter));
    }

    /**
     * 返回两个时间戳的差
     * @param timeStamp
     * @return
     */
    public static long TimestampBetween(long timeStamp){
        return Instant.now().toEpochMilli() - Instant.ofEpochMilli(timeStamp).toEpochMilli();
    }

    /**
     * 计算两个时间的小时差
     * @param hour
     * @param minute
     * @param second
     * @return
     */
    public static long HourBetween(int hour, int minute,int second){
        LocalTime of = LocalTime.of(hour, minute, second);
        return ChronoUnit.HOURS.between(of,LocalTime.now());
    }

    /**
     * 计算两个时间段内的分钟差
     * @param hour
     * @param minute
     * @param second
     * @return
     */
    public static long MinuteBetween(int hour, int minute,int second){
        LocalTime of = LocalTime.of(hour, minute, second);
        return ChronoUnit.MINUTES.between(of,LocalTime.now());
    }
    /**
     * 计算两个日期之间相隔的时间
     * @param year
     * @param month
     * @param dayOfMonth
     * @return
     */
    public static long DayBetween(int year, int month, int dayOfMonth){
        LocalDate start = LocalDate.of(year, month, dayOfMonth);
        return ChronoUnit.DAYS.between(start,LocalDate.now());
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值