2023-05-27 04:12:49 +08:00
|
|
|
package xyz.zhouxy.plusone.commons.util;
|
|
|
|
|
|
|
|
|
|
import java.time.Instant;
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.time.ZoneId;
|
2024-05-28 09:38:59 +08:00
|
|
|
|
2023-05-27 04:12:49 +08:00
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
2024-04-03 16:20:41 +08:00
|
|
|
class DateTimeToolsTests {
|
2023-05-27 04:12:49 +08:00
|
|
|
|
2024-04-03 16:20:41 +08:00
|
|
|
private static final Logger log = LoggerFactory.getLogger(DateTimeToolsTests.class);
|
2023-05-27 04:12:49 +08:00
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
void testLocalNowStr() {
|
2024-04-03 16:20:41 +08:00
|
|
|
log.info(DateTimeTools.nowStr("yyyy/MM/dd HH:mm:ss.SSS"));
|
2023-05-27 04:12:49 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
void testToJoda() {
|
|
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
|
|
log.info("now: {}", now);
|
2024-04-03 16:20:41 +08:00
|
|
|
org.joda.time.LocalDateTime now2 = DateTimeTools.toJodaLocalDateTime(now);
|
2023-05-27 04:12:49 +08:00
|
|
|
log.info("now2: {}", now2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
void testToInstant() {
|
2024-04-03 16:20:41 +08:00
|
|
|
Instant now = DateTimeTools.toInstant(System.currentTimeMillis());
|
|
|
|
|
String str = DateTimeTools.toString("yy-M-d HH:mm:ss.SSS", now);
|
2023-05-27 04:12:49 +08:00
|
|
|
log.info(str);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
void testToJodaDateTime() {
|
2024-05-28 09:38:59 +08:00
|
|
|
Instant now = Instant.now();
|
|
|
|
|
org.joda.time.DateTime jodaDateTime = DateTimeTools.toJodaDateTime(now, ZoneId.of("+08:00"));
|
|
|
|
|
log.info("jodaDateTime: {}", jodaDateTime);
|
|
|
|
|
jodaDateTime = DateTimeTools.toJodaDateTime(now, ZoneId.of("+02:00"));
|
2023-05-27 04:12:49 +08:00
|
|
|
log.info("jodaDateTime: {}", jodaDateTime);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
void test() {
|
2024-05-28 09:38:59 +08:00
|
|
|
java.time.Instant now = java.time.Instant.now();
|
|
|
|
|
org.joda.time.DateTime jodaDateTime = DateTimeTools.toJodaDateTime(now, ZoneId.of("America/New_York"));
|
|
|
|
|
org.joda.time.format.DateTimeFormatter formatter = org.joda.time.format.DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS");
|
2023-05-27 04:12:49 +08:00
|
|
|
log.info(formatter.print(jodaDateTime));
|
|
|
|
|
log.info(jodaDateTime.getZone().toString());
|
|
|
|
|
log.info(jodaDateTime.toString());
|
|
|
|
|
log.info("==========================================");
|
|
|
|
|
org.joda.time.Instant instant = new org.joda.time.Instant(System.currentTimeMillis() - 500000);
|
|
|
|
|
log.info(instant.toString());
|
2024-04-03 16:20:41 +08:00
|
|
|
log.info(DateTimeTools.toJavaInstant(instant).toString());
|
2024-05-28 09:38:59 +08:00
|
|
|
log.info(DateTimeTools.toZonedDateTime(instant, org.joda.time.DateTimeZone.forID("America/New_York")).toString());
|
2023-05-27 04:12:49 +08:00
|
|
|
}
|
|
|
|
|
}
|