|
@@ -8,11 +8,15 @@ import org.springframework.context.annotation.Lazy;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.time.ZoneId;
|
|
|
+import java.time.ZonedDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Calendar;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
|
|
|
@SpringBootTest
|
|
@@ -71,9 +75,27 @@ class XiaoshiWeixinbackApplicationTests {
|
|
|
|
|
|
@Test
|
|
|
public void test1() {
|
|
|
- List<String> list = Arrays.asList("A", "B", "C");
|
|
|
- List<String> list1 = Arrays.asList("a", "C", "D", "F");
|
|
|
- list.removeAll(list1);
|
|
|
- System.out.println(list);
|
|
|
+ // 获取当前时间
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ System.out.println(now);
|
|
|
+ // 计算当天零点的时间
|
|
|
+ LocalDateTime midnight = now.plusDays(1).truncatedTo(ChronoUnit.DAYS);
|
|
|
+
|
|
|
+ // 转换为ZonedDateTime以获取时区信息
|
|
|
+ ZonedDateTime zonedDateTime = midnight.atZone(ZoneId.systemDefault());
|
|
|
+
|
|
|
+ // 转换为Unix时间戳(秒)
|
|
|
+ long midnightTimestamp = TimeUnit.MILLISECONDS.toSeconds(zonedDateTime.toInstant().toEpochMilli());
|
|
|
+ System.out.println(midnightTimestamp);
|
|
|
+ // 获取当前时间的Unix时间戳(秒)
|
|
|
+ long currentTimestamp = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis());
|
|
|
+ System.out.println(currentTimestamp);
|
|
|
+ // 计算剩余秒数直到当天零点
|
|
|
+ long ttlSeconds = midnightTimestamp - currentTimestamp;
|
|
|
+ System.out.println(ttlSeconds);
|
|
|
+ // 如果已经过了零点,则设置过期时间为0或者重新计算逻辑
|
|
|
+ if (ttlSeconds <= 0) {
|
|
|
+ ttlSeconds = 0; // 或者你可以设置为其他逻辑,比如下一个天的零点
|
|
|
+ }
|
|
|
}
|
|
|
}
|