mirror of
https://github.com/StarCitizenToolBox/app.git
synced 2026-01-17 13:40:27 +00:00
fix: datetime
This commit is contained in:
parent
8f85d96488
commit
70b6e29ad0
@ -247,9 +247,21 @@ class HomeUIModel extends _$HomeUIModel {
|
|||||||
final fixedList = list.map((item) {
|
final fixedList = list.map((item) {
|
||||||
if (item.time == null) return item;
|
if (item.time == null) return item;
|
||||||
final itemDateTime = DateTime.fromMillisecondsSinceEpoch(item.time!);
|
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,
|
now.year + 1,
|
||||||
itemDateTime.month,
|
itemDateTime.month,
|
||||||
itemDateTime.day,
|
itemDateTime.day,
|
||||||
@ -257,11 +269,13 @@ class HomeUIModel extends _$HomeUIModel {
|
|||||||
itemDateTime.minute,
|
itemDateTime.minute,
|
||||||
itemDateTime.second,
|
itemDateTime.second,
|
||||||
);
|
);
|
||||||
final newTimestamp = (nextDate.millisecondsSinceEpoch).round();
|
final newTimestamp = (nextYearDate.millisecondsSinceEpoch).round();
|
||||||
return CountdownFestivalItemData(name: item.name, time: newTimestamp, icon: item.icon);
|
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();
|
}).toList();
|
||||||
|
|
||||||
// Sort by time (ascending order - nearest festival first)
|
// Sort by time (ascending order - nearest festival first)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user