Fix(Fortune): Incorrect time difference calculation for recent events #46

Merged
tobiichi3227 merged 2 commits from fix/event-diff-cal into main 2024-12-25 11:07:38 +00:00
4 changed files with 73 additions and 65 deletions

View File

@@ -133,12 +133,14 @@ function daysDiff(eventIndex) {
}
const triggerDate = event.triggerDate;
let isCustomEvent = false;
eventYear = year;
if ('year' in triggerDate) {
eventYear = validateNumber(triggerDate.year, 1, maxDate.getFullYear(), 'triggerDate.year', event);
if (eventYear === null) {
return -1;
}
isCustomEvent = true;
}
if (!('month' in triggerDate)) {
@@ -179,12 +181,17 @@ function daysDiff(eventIndex) {
eventDate = firstTargetDay + (triggerDate.week - 1) * 7;
}
if (!isCustomEvent && (month > eventMonth || (month == eventMonth && date > eventDate))) {
eventYear += 1;
}
const endDate = new Date(
eventYear,
eventMonth - 1,
eventDate,
);
// calculate the difference in milliseconds and convert it to days
const timeDiff = Math.ceil((endDate - startDate) / (1000 * 60 * 60 * 24));
return timeDiff;

View File

@@ -1,3 +1,67 @@
{
"special_events": []
"special_events": [
{
"event": "夏至",
"triggerDate": {
"year": "2025",
"month": "6",
"date": "21"
},
"status_index": "0",
"goodFortunes": {
"l_1_event": "觀賞日出和日落",
"l_1_desc": "享受一年最長的白天",
"l_2_event": "",
"l_2_desc": ""
},
"badFortunes": {
"r_1_event": "",
"r_1_desc": "",
"r_2_event": "",
"r_2_desc": ""
}
},
{
"event": "中秋節",
"triggerDate": {
"year": "2025",
"month": "10",
"date": "6"
},
"status_index": "0",
"goodFortunes": {
"l_1_event": "賞月",
"l_1_desc": "與家人一同賞月,增進感情",
"l_2_event": "吃月餅",
"l_2_desc": "與家人朋友分享月餅的美味"
},
"badFortunes": {
"r_1_event": "",
"r_1_desc": "",
"r_2_event": "",
"r_2_desc": ""
}
},
{
"event": "冬至",
"triggerDate": {
"year": "2025",
"month": "12",
"date": "21"
},
"status_index": "0",
"goodFortunes": {
"l_1_event": "吃湯圓",
"l_1_desc": "團團圓圓",
"l_2_event": "保暖",
"l_2_desc": "冬至到了"
},
"badFortunes": {
"r_1_event": "",
"r_1_desc": "",
"r_2_event": "",
"r_2_desc": ""
}
}
]
}

View File

@@ -662,26 +662,6 @@
"r_2_desc": ""
}
},
{
"event": "冬至",
"triggerDate": {
"month": "12",
"date": "22"
},
"status_index": "0",
"goodFortunes": {
"l_1_event": "吃湯圓",
"l_1_desc": "團團圓圓",
"l_2_event": "保暖",
"l_2_desc": "冬至到了"
},
"badFortunes": {
"r_1_event": "",
"r_1_desc": "",
"r_2_event": "",
"r_2_desc": ""
}
},
{
"event": "平安夜",
"triggerDate": {

View File

@@ -1,46 +1,3 @@
{
"special_events": [
{
"event": "夏至",
"triggerDate": {
"year": "2025",
"month": "6",
"date": "21"
},
"status_index": "0",
"goodFortunes": {
"l_1_event": "觀賞日出和日落",
"l_1_desc": "享受一年最長的白天",
"l_2_event": "",
"l_2_desc": ""
},
"badFortunes": {
"r_1_event": "",
"r_1_desc": "",
"r_2_event": "",
"r_2_desc": ""
}
},
{
"event": "中秋節",
"triggerDate": {
"year": "2025",
"month": "10",
"date": "6"
},
"status_index": "0",
"goodFortunes": {
"l_1_event": "賞月",
"l_1_desc": "與家人一同賞月,增進感情",
"l_2_event": "吃月餅",
"l_2_desc": "與家人朋友分享月餅的美味"
},
"badFortunes": {
"r_1_event": "",
"r_1_desc": "",
"r_2_event": "",
"r_2_desc": ""
}
}
]
"special_events": []
}