GitBucket
4.23.0
Toggle navigation
Sign in
Files
Branches
1
Releases
Issues
Pull requests
Labels
Priorities
Milestones
Wiki
Forks
yn-bftl-byx
/
thirdparty
Browse code
转账callback
master
1 parent
3f43117
commit
b99df6763f436d17e69c438f6758d01bc4af2e7f
Jing
authored
on 21 Oct
Patch
Showing
1 changed file
src/main/java/com/yn/bftl/thirdparty/common/util/DateTimeUtils.java
Ignore Space
Show notes
View
src/main/java/com/yn/bftl/thirdparty/common/util/DateTimeUtils.java
package com.yn.bftl.thirdparty.common.util; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import org.joda.time.DateTime; import java.time.*; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.Locale; /** * @Author:Vance * @Description: * @Date:2023/3/2 13:34 */ public class DateTimeUtils { /** * 时间转化 * * @param dateStr RFC3339格式时间 * @return LocalDateTime * @description * @author huabiao * @create 2022/12/28 11:24 */ public static LocalDateTime getLocalDateTimeByRFC3339(String dateStr) { DateTime dateTime = new DateTime(dateStr); long timeInMillis = dateTime.toCalendar(Locale.getDefault()).getTimeInMillis(); ZoneId zoneId = ZoneId.systemDefault(); return Instant.ofEpochMilli(timeInMillis).atZone(zoneId).toLocalDateTime(); } public static LocalDateTime getLocalDateTimeByRFC3339Str(String dateStr) { // 给定的字符串格式化 ZoneId zoneId = ZoneId.of("GMT+08:00"); // 解析带有时区的日期时间字符串 ZonedDateTime zonedDateTime = ZonedDateTime.parse(dateStr, java.time.format.DateTimeFormatter.ISO_ZONED_DATE_TIME); // 将ZonedDateTime转换为LocalDateTime return zonedDateTime.withZoneSameInstant(zoneId).toLocalDateTime(); } public static String setDateTimeToRFC3339(String dateStr) { if(ObjectUtil.isNotEmpty(dateStr)) { return DateUtil.format(Convert.toLocalDateTime(dateStr) ,"yyyy-MM-dd'T'HH:mm:ssXXX"); } else { return null; } } public static String getDateTimeToRFC3339(String dateStr ) { if(ObjectUtil.isNotEmpty(dateStr)) { return getDateTimeToRFC3339( dateStr,"yyyyMMddHHmmss"); } else { return null; } } public static String getDateTimeToRFC3339(String dateStr, String pattern ) { // 定义日期格式 DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); // 解析原始字符串为 LocalDateTime LocalDateTime localDateTime = LocalDateTime.from(formatter.parse(dateStr)); // 转换为 系统默认 时区的 ZonedDateTime ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zonedDateTime = localDateTime.atZone(zoneId); // 使用 ISO 8601 标准的 DateTimeFormatter 格式化时间 DateTimeFormatter rfc3339Formatter = DateTimeFormatter.ISO_ZONED_DATE_TIME; return zonedDateTime.format(rfc3339Formatter); } }
package com.yn.bftl.thirdparty.common.util; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import org.joda.time.DateTime; import java.time.*; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.Locale; /** * @Author:Vance * @Description: * @Date:2023/3/2 13:34 */ public class DateTimeUtils { /** * 时间转化 * * @param dateStr RFC3339格式时间 * @return LocalDateTime * @description * @author huabiao * @create 2022/12/28 11:24 */ public static LocalDateTime getLocalDateTimeByRFC3339(String dateStr) { DateTime dateTime = new DateTime(dateStr); long timeInMillis = dateTime.toCalendar(Locale.getDefault()).getTimeInMillis(); ZoneId zoneId = ZoneId.systemDefault(); return Instant.ofEpochMilli(timeInMillis).atZone(zoneId).toLocalDateTime(); } public static LocalDateTime getLocalDateTimeByRFC3339Str(String dateStr) { // 定义输入格式 DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX[VV]"); LocalDateTime localDateTime = LocalDateTime.now(); try { // 解析输入字符串为 OffsetDateTime OffsetDateTime offsetDateTime = OffsetDateTime.parse(dateStr, inputFormatter); // 将 OffsetDateTime 转换为 LocalDateTime localDateTime = offsetDateTime.toLocalDateTime(); System.out.println("LocalDateTime: " + localDateTime); } catch (DateTimeParseException e) { System.out.println("Error parsing date: " + e.getMessage()); } return localDateTime; } public static String setDateTimeToRFC3339(String dateStr) { if(ObjectUtil.isNotEmpty(dateStr)) { return DateUtil.format(Convert.toLocalDateTime(dateStr) ,"yyyy-MM-dd'T'HH:mm:ssXXX"); } else { return null; } } public static String getDateTimeToRFC3339(String dateStr ) { if(ObjectUtil.isNotEmpty(dateStr)) { return getDateTimeToRFC3339( dateStr,"yyyyMMddHHmmss"); } else { return null; } } public static String getDateTimeToRFC3339(String dateStr, String pattern ) { // 定义日期格式 DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); // 解析原始字符串为 LocalDateTime LocalDateTime localDateTime = LocalDateTime.from(formatter.parse(dateStr)); // 转换为 系统默认 时区的 ZonedDateTime ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zonedDateTime = localDateTime.atZone(zoneId); // 使用 ISO 8601 标准的 DateTimeFormatter 格式化时间 DateTimeFormatter rfc3339Formatter = DateTimeFormatter.ISO_ZONED_DATE_TIME; return zonedDateTime.format(rfc3339Formatter); } }
Show line notes below