diff --git a/README.md b/README.md index e9fc362..488de4d 100644 --- a/README.md +++ b/README.md @@ -1,67 +1,67 @@ -yexuejc-base 基于jdk8常用工具包 ----------------------- -源码地址:
-github:https://github.com/yexuejc/yexuejc-base -gitee:https://gitee.com/jzsw-it/yexuejc-base - -### 说明 ->1. 支持环境:java8 ->2. 该工具包基于springboot提取,按理说适用于所有java工程 ->3. 其中依赖jjwt、validation-api,排除请使用 -> ``` -> -> -> xxx -> xxxx -> -> -> ``` -> ->4. `1.1.9` 升级JWT为单例类 ->5. `1.2.3` 修复RSA加密(签名)Base64Url 问题,如需使用RSA请使用1.2.3+ ->##### 6. 从`1.3.0`开始,版本维护转由`成都极致思维网络科技有限公司`向maven中央仓库发布版本,同时变更组织`groupId`为`top.yexuejc`。使用者请尽快升级到`1.3.0`以上(1.3.0代码向下兼容) - - -### 使用 ->yexuejc.base.version=1.3.0 - -pom.xml -``` - - - top.yexuejc - yexuejc-base - ${yexuejc.base.version} - - -``` - -#### 附:1.3.0之前的使用方式 -pom.xml -``` - - - com.yexuejc.base - yexuejc-base - 1.3.0以下 - - - - - yexuejc-nexus-public - yexuejc-nexus-public - https://nexus.yexuejc.club/repository/maven-public/ - - -``` - -### 工具文档 -[Wiki](WIKI.md) - -### 更新日志 -[更新记录](UPDATE.md) - -#### 项目发展 -本工程项目由maxf基于日常使用,从[yexuejc-springboot](https://github.com/yexuejc/yexuejc-springboot.git)(_准备移交版本控制_)中抽离开源独立发展,后续增加许多常用工具包。 -使用者逐渐增多后考虑可靠性和稳定性原则,移交版本控制给`成都极致思维网络科技有限公司`管理,maven包直接发布到中央仓库。 -开源工程项目仍然保持继续维护和欢迎更多愿意贡献的小伙伴参与。 +yexuejc-base 基于jdk8常用工具包 +---------------------- +源码地址:
+github:https://github.com/yexuejc/yexuejc-base +gitee:https://gitee.com/jzsw-it/yexuejc-base + +### 说明 +>1. 支持环境:java8 +>2. 该工具包基于springboot提取,按理说适用于所有java工程 +>3. 其中依赖jjwt、validation-api,排除请使用 +> ``` +> +> +> xxx +> xxxx +> +> +> ``` +> +>4. `1.1.9` 升级JWT为单例类 +>5. `1.2.3` 修复RSA加密(签名)Base64Url 问题,如需使用RSA请使用1.2.3+ +>##### 6. 从`1.3.0`开始,变更组织`groupId`为`top.yexuejc`。使用者请尽快升级到`1.3.0`以上(1.3.0代码向下兼容) + + +### 使用 +>yexuejc.base.version=1.4.1 + +pom.xml +``` + + + top.yexuejc + yexuejc-base + ${yexuejc.base.version} + + +``` + +#### 附:1.3.0之前的使用方式 +pom.xml +``` + + + com.yexuejc.base + yexuejc-base + 1.3.0以下 + + + + + yexuejc-nexus-public + yexuejc-nexus-public + https://nexus.yexuejc.club/repository/maven-public/ + + +``` + +### 工具文档 +[Wiki](WIKI.md) + +### 更新日志 +[更新记录](UPDATE.md) + +#### 项目发展 +本工程项目由maxf基于日常使用,从[yexuejc-springboot](https://github.com/yexuejc/yexuejc-springboot.git)(_准备移交版本控制_)中抽离开源独立发展,后续增加许多常用工具包。 +使用者逐渐增多后考虑可靠性和稳定性原则,移交版本控制给`成都极致思维网络科技有限公司`管理,maven包直接发布到中央仓库。 +开源工程项目仍然保持继续维护和欢迎更多愿意贡献的小伙伴参与。 diff --git a/UPDATE.md b/UPDATE.md index e391edc..60151df 100644 --- a/UPDATE.md +++ b/UPDATE.md @@ -1,14 +1,19 @@ yexuejc-base 更新记录 ------------------ -#### version :1.4.0 -**time:2020-5-18 12:06:14**
+#### version :1.4.1 +**time:2021-1-31 12:59:24**
**branch:** master
**update:**
->1. 更新仓库地址 https://nexus.yexuejc.club/ 为 https://nexus.yexuejc.top/ ->2. 优化Execl 和 Jwt 工具 +>1. 升级所有依赖 +>1. 增加DateTimeUtil类的功能 +# +#### version :1.4.0 +**time:2020-04-13 20:49:32**
+**branch:** master
+**update:**
+>1. 优化Execl 和 Jwt 工具 # - #### version :1.3.9 **time:2019-1-11 16:50:51**
**branch:** master
diff --git a/pom.xml b/pom.xml index 1062811..4713a52 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ top.yexuejc yexuejc-base - 1.4.0 + 1.4.1 ${project.artifactId} https://github.com/yexuejc/yexuejc-base @@ -40,18 +40,18 @@ https://nexus.yexuejc.top/repository/ - https://nexus.mcworle.com/repository/ + https://nexus.hm3981.com/repository/ http://maven.aliyun.com/nexus/content/groups/public https://jitpack.io - 0.7.0 + 0.9.1 true 1.8 - 1.1.0.Final - 1.10 - 2.6 - 1.60 - 20.0 - 3.13 + 3.0.0 + 1.15 + 2.8.0 + 1.68 + 30.1-jre + 5.0.0 UTF-8 UTF-8 @@ -67,9 +67,15 @@ ${jjwt.version} + + + + + + - javax.validation - validation-api + jakarta.validation + jakarta.validation-api ${validation-api.version} @@ -118,6 +124,7 @@ org.apache.maven.plugins maven-compiler-plugin + 3.8.1 UTF-8 8 @@ -128,7 +135,7 @@ org.apache.maven.plugins maven-source-plugin - 3.0.1 + 3.2.1 attach-sources @@ -139,48 +146,50 @@ - - org.springframework.boot - spring-boot-maven-plugin - - - - build-info - - - - - - true - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -226,16 +235,16 @@ ${repos.yexuejc.url}maven-snapshots/ - - diff --git a/src/main/java/com/yexuejc/base/util/DateTimeUtil.java b/src/main/java/com/yexuejc/base/util/DateTimeUtil.java index 50533e5..6b0729b 100644 --- a/src/main/java/com/yexuejc/base/util/DateTimeUtil.java +++ b/src/main/java/com/yexuejc/base/util/DateTimeUtil.java @@ -148,6 +148,55 @@ public class DateTimeUtil { return date; } + /** + * LocalDate 转 Date + * + * @param localDate + * @return + */ + public static Date parseDate(LocalDate localDate) { + ZoneId zone = ZoneId.systemDefault(); + Instant instant = localDate.atStartOfDay().atZone(zone).toInstant(); + return Date.from(instant); + } + + /** + * LocalDateTime 转 Date + * + * @param localDateTime + * @return + */ + public static Date parseDate(LocalDateTime localDateTime) { + ZoneId zoneId = ZoneId.systemDefault(); + ZonedDateTime zdt = localDateTime.atZone(zoneId); + return Date.from(zdt.toInstant()); + } + + /** + * LocalTime 转 Date + * + * @param localTime 时间 + * @return 当前日期的指定时间 + */ + public static Date parseDate(LocalTime localTime) { + LocalDate localDate = LocalDate.now(); + return parseDate(localDate, localTime); + } + + /** + * LocalDate + LocalTime 转 Date + * + * @param localDate 日期 + * @param localTime 时间 + * @return 指定日期的指定时间 + */ + public static Date parseDate(LocalDate localDate, LocalTime localTime) { + LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime); + ZoneId zone = ZoneId.systemDefault(); + Instant instant = localDateTime.atZone(zone).toInstant(); + return Date.from(instant); + } + /** * Date 转 ZonedDateTime * @@ -172,30 +221,6 @@ public class DateTimeUtil { return instant.atZone(zoneId).toLocalDateTime(); } - /** - * LocalDateTime 转 Date - * - * @param localDateTime - * @return - */ - public static Date parseLocalDateTime(LocalDateTime localDateTime) { - ZoneId zoneId = ZoneId.systemDefault(); - ZonedDateTime zdt = localDateTime.atZone(zoneId); - return Date.from(zdt.toInstant()); - } - - /** - * LocalDate 转 Date - * - * @param localDate - * @return - */ - public static Date parseData(LocalDate localDate) { - ZoneId zone = ZoneId.systemDefault(); - Instant instant = localDate.atStartOfDay().atZone(zone).toInstant(); - return Date.from(instant); - } - /** * Date 转 LocalDate * @@ -204,9 +229,8 @@ public class DateTimeUtil { */ public static LocalDate parseLocalDate(Date date) { Instant instant = date.toInstant(); - ZoneId zone = ZoneId.systemDefault(); - LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone); - return localDateTime.toLocalDate(); + ZoneId zoneId = ZoneId.systemDefault(); + return instant.atZone(zoneId).toLocalDate(); } /** @@ -223,30 +247,40 @@ public class DateTimeUtil { } /** - * Date 转 LocalTime + * Long 转 LocalDateTime * - * @param localTime - * @return 当前日期的指定时间 + * @param timestamp 13位(毫秒) + * @return */ - public static Date parseDate(LocalTime localTime) { - LocalDate localDate = LocalDate.now(); - return parseDate(localDate, localTime); + public static LocalDateTime parseLocalDateTime13(long timestamp) { + Instant instant = Instant.ofEpochMilli(timestamp); + ZoneId zone = ZoneId.systemDefault(); + return LocalDateTime.ofInstant(instant, zone); } /** - * Date 转 LocalTime + * Long 转 LocalDateTime * - * @param localDate - * @param localTime - * @return 指定日期的指定时间 + * @param timestamp 10位(秒) + * @return */ - public static Date parseDate(LocalDate localDate, LocalTime localTime) { - LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime); + public static LocalDateTime parseLocalDateTime10(long timestamp) { + Instant instant = Instant.ofEpochMilli(timestamp * 1000); ZoneId zone = ZoneId.systemDefault(); - Instant instant = localDateTime.atZone(zone).toInstant(); - return Date.from(instant); + return LocalDateTime.ofInstant(instant, zone); } + /** + * LocalDateTime 转 Long + * + * @param localDateTime + * @return 13位(毫秒) + */ + public static long parseLong(LocalDateTime localDateTime) { + ZoneId zone = ZoneId.systemDefault(); + Instant instant = localDateTime.atZone(zone).toInstant(); + return instant.toEpochMilli(); + } /** * 格式化时间
* 格式 yyyy-MM-dd HH:mm:ss @@ -255,7 +289,7 @@ public class DateTimeUtil { * @return */ public static String format(LocalDateTime dateTime) { - return format(dateTime, ""); + return format(dateTime, null); } /** @@ -273,22 +307,23 @@ public class DateTimeUtil { return df.format(dateTime); } - /** public static void main(String[] args) { - SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - System.out.println(df.format(zonedDateTime2Date(ZonedDateTime.now()))); - System.out.println(df2.format(date2ZonedDateTime(new Date()))); - System.out.println(getWeek4First()); - System.out.println(format(getWeek4First(LocalDate.parse("2018-02-10")).atTime(LocalTime.MIN))); - System.out.println(format(getWeek4Last(LocalDate.parse("2018-02-10")).atTime(LocalTime.MAX))); + /** public static void main(String[] args) { + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + System.out.println(df.format(zonedDateTime2Date(ZonedDateTime.now()))); + System.out.println(df2.format(date2ZonedDateTime(new Date()))); - System.out.println(format(getMonth4First().atTime(LocalTime.MIN))); - System.out.println(format(getMonth4Last().atTime(LocalTime.MAX))); + System.out.println(getWeek4First()); + System.out.println(format(getWeek4First(LocalDate.parse("2018-02-10")).atTime(LocalTime.MIN))); + System.out.println(format(getWeek4Last(LocalDate.parse("2018-02-10")).atTime(LocalTime.MAX))); - System.out.println(format(getYear4First().atTime(LocalTime.MIN))); - System.out.println(format(getYear4Last().atTime(LocalTime.MAX))); + System.out.println(format(getMonth4First().atTime(LocalTime.MIN))); + System.out.println(format(getMonth4Last().atTime(LocalTime.MAX))); - }*/ + System.out.println(format(getYear4First().atTime(LocalTime.MIN))); + System.out.println(format(getYear4Last().atTime(LocalTime.MAX))); + + }*/ } diff --git a/src/main/java/com/yexuejc/base/util/ToUeProperty.java b/src/main/java/com/yexuejc/base/util/ToUeProperty.java index 63d7fdd..4cac11e 100644 --- a/src/main/java/com/yexuejc/base/util/ToUeProperty.java +++ b/src/main/java/com/yexuejc/base/util/ToUeProperty.java @@ -2,18 +2,26 @@ package com.yexuejc.base.util; import java.lang.annotation.*; +/** + * json转换时的格式指定 + * + * @author: yexuejc + * @date: 2021-01-31 12:48:29 + */ @Target({ElementType.FIELD, ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface ToUeProperty { /** * 字段名,默认该字段转下划线 + * * @return */ String value() default ""; /** * 是否忽略该字段,默认false + * * @return */ boolean ignore() default false;