perf: 优化 JodaTimeTools
- 优化 `JodaTimeTools` - 完善 javadoc
This commit is contained in:
@@ -54,7 +54,9 @@ public class JodaTimeTools {
|
|||||||
* @param zone 时区
|
* @param zone 时区
|
||||||
* @return {@link org.joda.time.Instant} 对象
|
* @return {@link org.joda.time.Instant} 对象
|
||||||
*/
|
*/
|
||||||
public static org.joda.time.Instant toJodaInstant(java.time.LocalDateTime localDateTime, java.time.ZoneId zone) {
|
public static org.joda.time.Instant toJodaInstant(
|
||||||
|
java.time.LocalDateTime localDateTime,
|
||||||
|
java.time.ZoneId zone) {
|
||||||
return toJodaInstant(java.time.ZonedDateTime.of(localDateTime, zone));
|
return toJodaInstant(java.time.ZonedDateTime.of(localDateTime, zone));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,9 +94,9 @@ public class JodaTimeTools {
|
|||||||
* {@link org.joda.time.DateTimeZone} 对象
|
* {@link org.joda.time.DateTimeZone} 对象
|
||||||
* 转换为 Java 中的 {@link java.time.Instant} 对象
|
* 转换为 Java 中的 {@link java.time.Instant} 对象
|
||||||
*
|
*
|
||||||
* @param localDateTime
|
* @param localDateTime {@link org.joda.time.LocalDateTime} 对象
|
||||||
* @param zone
|
* @param zone {@link org.joda.time.DateTimeZone} 对象
|
||||||
* @return
|
* @return Java 表示时间戳的 {@link java.time.Instant} 对象
|
||||||
*/
|
*/
|
||||||
public static java.time.Instant toJavaInstant(
|
public static java.time.Instant toJavaInstant(
|
||||||
org.joda.time.LocalDateTime localDateTime,
|
org.joda.time.LocalDateTime localDateTime,
|
||||||
@@ -135,8 +137,9 @@ public class JodaTimeTools {
|
|||||||
public static org.joda.time.DateTime toJodaDateTime(
|
public static org.joda.time.DateTime toJodaDateTime(
|
||||||
java.time.LocalDateTime localDateTime,
|
java.time.LocalDateTime localDateTime,
|
||||||
java.time.ZoneId zone) {
|
java.time.ZoneId zone) {
|
||||||
org.joda.time.DateTimeZone dateTimeZone = toJodaZone(zone);
|
org.joda.time.LocalDateTime jodaLocalDateTime = toJodaLocalDateTime(localDateTime);
|
||||||
return toJodaInstant(java.time.ZonedDateTime.of(localDateTime, zone).toInstant()).toDateTime(dateTimeZone);
|
org.joda.time.DateTimeZone jodaZone = toJodaZone(zone);
|
||||||
|
return jodaLocalDateTime.toDateTime(jodaZone);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -218,9 +221,15 @@ public class JodaTimeTools {
|
|||||||
* @return joda-time LocalDateTime
|
* @return joda-time LocalDateTime
|
||||||
*/
|
*/
|
||||||
public static org.joda.time.LocalDateTime toJodaLocalDateTime(java.time.LocalDateTime localDateTime) {
|
public static org.joda.time.LocalDateTime toJodaLocalDateTime(java.time.LocalDateTime localDateTime) {
|
||||||
java.time.ZoneId javaZone = java.time.ZoneId.systemDefault();
|
return new org.joda.time.LocalDateTime(
|
||||||
org.joda.time.DateTimeZone jodaZone = toJodaZone(javaZone);
|
localDateTime.getYear(),
|
||||||
return toJodaInstant(localDateTime, javaZone).toDateTime(jodaZone).toLocalDateTime();
|
localDateTime.getMonthValue(),
|
||||||
|
localDateTime.getDayOfMonth(),
|
||||||
|
localDateTime.getHour(),
|
||||||
|
localDateTime.getMinute(),
|
||||||
|
localDateTime.getSecond(),
|
||||||
|
localDateTime.getNano() / 1_000_000 // 毫秒转纳秒
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================================
|
// ================================
|
||||||
@@ -238,9 +247,15 @@ public class JodaTimeTools {
|
|||||||
* @return Java 8 LocalDateTime
|
* @return Java 8 LocalDateTime
|
||||||
*/
|
*/
|
||||||
public static java.time.LocalDateTime toJavaLocalDateTime(org.joda.time.LocalDateTime localDateTime) {
|
public static java.time.LocalDateTime toJavaLocalDateTime(org.joda.time.LocalDateTime localDateTime) {
|
||||||
org.joda.time.DateTimeZone jodaZone = org.joda.time.DateTimeZone.getDefault();
|
return java.time.LocalDateTime.of(
|
||||||
java.time.ZoneId javaZone = toJavaZone(jodaZone);
|
localDateTime.getYear(),
|
||||||
return toJavaInstant(localDateTime, jodaZone).atZone(javaZone).toLocalDateTime();
|
localDateTime.getMonthOfYear(),
|
||||||
|
localDateTime.getDayOfMonth(),
|
||||||
|
localDateTime.getHourOfDay(),
|
||||||
|
localDateTime.getMinuteOfHour(),
|
||||||
|
localDateTime.getSecondOfMinute(),
|
||||||
|
localDateTime.getMillisOfSecond() * 1_000_000 // 毫秒转纳秒
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================================
|
// ================================
|
||||||
|
@@ -33,7 +33,7 @@ import org.junit.jupiter.api.Test;
|
|||||||
public class JodaTimeToolsTests {
|
public class JodaTimeToolsTests {
|
||||||
|
|
||||||
// Java
|
// Java
|
||||||
static final LocalDateTime LOCAL_DATE_TIME = LocalDateTime.of(2024, 12, 29, 12, 58, 30, 333000000);
|
static final LocalDateTime LOCAL_DATE_TIME = LocalDateTime.of(2024, 12, 29, 12, 58, 30, 333 * 1_000_000);
|
||||||
static final LocalDate LOCAL_DATE = LOCAL_DATE_TIME.toLocalDate();
|
static final LocalDate LOCAL_DATE = LOCAL_DATE_TIME.toLocalDate();
|
||||||
static final LocalTime LOCAL_TIME = LOCAL_DATE_TIME.toLocalTime();
|
static final LocalTime LOCAL_TIME = LOCAL_DATE_TIME.toLocalTime();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user