fix: datetime

This commit is contained in:
xkeyC 2026-01-16 17:35:19 +08:00
parent 8f85d96488
commit 70b6e29ad0

View File

@ -247,9 +247,21 @@ class HomeUIModel extends _$HomeUIModel {
final fixedList = list.map((item) {
if (item.time == null) return item;
final itemDateTime = DateTime.fromMillisecondsSinceEpoch(item.time!);
final itemDatePlusSeven = itemDateTime.add(const Duration(days: 7));
if (itemDatePlusSeven.isBefore(now)) {
final nextDate = DateTime(
//
final thisYearDate = DateTime(
now.year,
itemDateTime.month,
itemDateTime.day,
itemDateTime.hour,
itemDateTime.minute,
itemDateTime.second,
);
// + 7使
final thisYearDatePlusSeven = thisYearDate.add(const Duration(days: 7));
if (thisYearDatePlusSeven.isBefore(now)) {
final nextYearDate = DateTime(
now.year + 1,
itemDateTime.month,
itemDateTime.day,
@ -257,11 +269,13 @@ class HomeUIModel extends _$HomeUIModel {
itemDateTime.minute,
itemDateTime.second,
);
final newTimestamp = (nextDate.millisecondsSinceEpoch).round();
final newTimestamp = (nextYearDate.millisecondsSinceEpoch).round();
return CountdownFestivalItemData(name: item.name, time: newTimestamp, icon: item.icon);
}
return item;
// 使
final newTimestamp = (thisYearDate.millisecondsSinceEpoch).round();
return CountdownFestivalItemData(name: item.name, time: newTimestamp, icon: item.icon);
}).toList();
// Sort by time (ascending order - nearest festival first)