mirror of
https://github.com/carm-outsource/TimeReward.git
synced 2026-06-05 01:08:10 +08:00
fix(time): 修复可能出现的时间异常问题
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
package cc.carm.plugin.tests;
|
||||
|
||||
import cc.carm.plugin.timereward.data.IntervalType;
|
||||
import cc.carm.plugin.timereward.data.TimeRecord;
|
||||
import cc.carm.plugin.timereward.user.UserRewardData;
|
||||
import cc.carm.plugin.timereward.util.DateTimeUtils;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.time.DayOfWeek;
|
||||
import java.time.Duration;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
|
||||
public class DataTest {
|
||||
|
||||
DateTimeFormatter DATETIME = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
LocalDate date = LocalDate.of(2025, 5, 1);
|
||||
LocalDateTime dateTime = LocalDateTime.now().minusHours(10).minusSeconds(600);
|
||||
|
||||
System.out.println("-----------------------------------------");
|
||||
System.out.println(" DURATION: " + Duration.between(dateTime, LocalDateTime.now()).getSeconds());
|
||||
System.out.println("TODAY START: " + DATETIME.format(DateTimeUtils.todayStartTime()));
|
||||
System.out.println("WEEK START: " + DATETIME.format(DateTimeUtils.currentWeekStartTime()));
|
||||
System.out.println("MONTH START: " + DATETIME.format(DateTimeUtils.currentMonthStartTime()));
|
||||
System.out.println("-----------------------------------------");
|
||||
System.out.println("RECORD DATE: " + DateTimeFormatter.ofPattern("yyyy-MM-dd").format(date));
|
||||
System.out.println(" JOIN TIME: " + DATETIME.format(dateTime));
|
||||
System.out.println("-----------------------------------------");
|
||||
|
||||
UserRewardData data = createData(date, dateTime);
|
||||
for (IntervalType value : IntervalType.values()) {
|
||||
System.out.println(value.name() + " = " + data.getOnlineDuration(value).getSeconds());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static UserRewardData createData(LocalDate date, LocalDateTime join) {
|
||||
return new UserRewardData(
|
||||
UUID.randomUUID(), new HashMap<>(),
|
||||
new TimeRecord(date, 0, 0, 0, 0),
|
||||
join
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package cc.carm.plugin.tests;
|
||||
|
||||
import cc.carm.plugin.timereward.data.IntervalType;
|
||||
import cc.carm.plugin.timereward.data.TimeRecord;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class TimeTest {
|
||||
|
||||
LocalDate date = LocalDate.of(2023, 8, 30);
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
TimeRecord record1 = new TimeRecord(LocalDate.now().minusMonths(1), 0, 0, 0, 0);
|
||||
TimeRecord record2 = new TimeRecord(LocalDate.now().minusWeeks(1), 0, 0, 0, 0);
|
||||
TimeRecord record3 = new TimeRecord(LocalDate.now().minusDays(1), 0, 0, 0, 0);
|
||||
|
||||
System.out.println(record1.isDayUpdated());
|
||||
System.out.println(record1.isWeekUpdated());
|
||||
System.out.println(record1.isMonthUpdated());
|
||||
|
||||
System.out.println(record2.isDayUpdated());
|
||||
System.out.println(record2.isWeekUpdated());
|
||||
System.out.println(record2.isMonthUpdated());
|
||||
|
||||
System.out.println(record3.isDayUpdated());
|
||||
System.out.println(record3.isWeekUpdated());
|
||||
System.out.println(record3.isMonthUpdated());
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void durationTest() {
|
||||
for (IntervalType value : IntervalType.values()) {
|
||||
System.out.println(value.name() + " = <MAX> = " + value.getMaxDuration().getSeconds());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user