大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
因为切换到了java8 ,但是一些东西还是使用的 import java.util.Date 对象表示的,所以需要对他们进行转换,
封装了一个工具类,具体,如下:
/**
* 张科
* 2019年1月14日20:55:54
*/
public class DateAndLocalDateUtil {
/**
* localDate转Date
*/
public static Date localDate2Date(LocalDate localDate) {
ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault());
Instant instant1 = zonedDateTime.toInstant();
Date from = Date.from(instant1);
return from;
}
/**
* Date 转 localDate
*/
public static LocalDate date2LocalDate(Date date) {
Instant instant = date.toInstant();
ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
LocalDate localDate = zdt.toLocalDate();
return localDate;
}
//获取月第一天
public static Date getStartDayOfMonth(String date) {
LocalDate now = LocalDate.parse(date);
return getStartDayOfMonth(now);
}
public static Date getStartDayOfMonth(LocalDate date) {
LocalDate now = date.with(TemporalAdjusters.firstDayOfMonth());
return localDate2Date(now);
}
public static Date getStartDayOfMonth() {
return getStartDayOfMonth(LocalDate.now());
}
//获取月最后一天
public static Date getEndDayOfMonth(String date) {
LocalDate localDate = LocalDate.parse(date);
return getEndDayOfMonth(localDate);
}
public static Date getEndDayOfMonth(Date date) {
return getEndDayOfMonth(date2LocalDate(date));
}
public static Date getEndDayOfMonth(LocalDate date) {
LocalDate now = date.with(TemporalAdjusters.lastDayOfMonth());
Date.from(now.atStartOfDay(ZoneId.systemDefault()).plusDays(1L).minusNanos(1L).toInstant());
return localDate2Date(now);
}
public static Date getEndDayOfMonth() {
return getEndDayOfMonth(LocalDate.now());
}
//获取周第一天
public static Date getStartDayOfWeek(String date) {
LocalDate now = LocalDate.parse(date);
return getStartDayOfWeek(now);
}
public static Date getStartDayOfWeek(TemporalAccessor date) {
TemporalField fieldISO = WeekFields.of(Locale.CHINA).dayOfWeek();
LocalDate localDate = LocalDate.from(date);
localDate = localDate.with(fieldISO, 1);
return localDate2Date(localDate);
}
//获取周最后一天
public static Date getEndDayOfWeek(String date) {
LocalDate localDate = LocalDate.parse(date);
return getEndDayOfWeek(localDate);
}
public static Date getEndDayOfWeek(TemporalAccessor date) {
TemporalField fieldISO = WeekFields.of(Locale.CHINA).dayOfWeek();
LocalDate localDate = LocalDate.from(date);
localDate = localDate.with(fieldISO, 7);
return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).plusDays(1L).minusNanos(1L).toInstant());
}
//一天的开始
public static LocalDateTime getStartOfDay(LocalDate date) {
LocalDateTime time = LocalDateTime.of(date, LocalTime.MIN);
return time;
}
public static LocalDateTime getStartOfDay() {
return getStartOfDay(LocalDate.now());
}
/**
* 一天的结束
*/
public static LocalDateTime getEndOfDay(LocalDate date) {
LocalDateTime time = LocalDateTime.of(date, LocalTime.MAX);
return time;
}
public static LocalDateTime getEndOfDay() {
return getEndOfDay(LocalDate.now());
}
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186242.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...