连夜写了一个时间日期工具类,希望可以帮得到你们。
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());
}
}