Merge pull request #46 from tobiichi3227/fix/event-diff-cal
Fix(Fortune): Incorrect time difference calculation for recent events
This commit was merged in pull request #46.
This commit is contained in:
@@ -133,12 +133,14 @@ function daysDiff(eventIndex) {
|
|||||||
}
|
}
|
||||||
const triggerDate = event.triggerDate;
|
const triggerDate = event.triggerDate;
|
||||||
|
|
||||||
|
let isCustomEvent = false;
|
||||||
eventYear = year;
|
eventYear = year;
|
||||||
if ('year' in triggerDate) {
|
if ('year' in triggerDate) {
|
||||||
eventYear = validateNumber(triggerDate.year, 1, maxDate.getFullYear(), 'triggerDate.year', event);
|
eventYear = validateNumber(triggerDate.year, 1, maxDate.getFullYear(), 'triggerDate.year', event);
|
||||||
if (eventYear === null) {
|
if (eventYear === null) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
isCustomEvent = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!('month' in triggerDate)) {
|
if (!('month' in triggerDate)) {
|
||||||
@@ -179,12 +181,17 @@ function daysDiff(eventIndex) {
|
|||||||
eventDate = firstTargetDay + (triggerDate.week - 1) * 7;
|
eventDate = firstTargetDay + (triggerDate.week - 1) * 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isCustomEvent && (month > eventMonth || (month == eventMonth && date > eventDate))) {
|
||||||
|
eventYear += 1;
|
||||||
|
}
|
||||||
|
|
||||||
const endDate = new Date(
|
const endDate = new Date(
|
||||||
eventYear,
|
eventYear,
|
||||||
eventMonth - 1,
|
eventMonth - 1,
|
||||||
eventDate,
|
eventDate,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
// calculate the difference in milliseconds and convert it to days
|
// calculate the difference in milliseconds and convert it to days
|
||||||
const timeDiff = Math.ceil((endDate - startDate) / (1000 * 60 * 60 * 24));
|
const timeDiff = Math.ceil((endDate - startDate) / (1000 * 60 * 60 * 24));
|
||||||
return timeDiff;
|
return timeDiff;
|
||||||
|
|||||||
@@ -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": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -662,26 +662,6 @@
|
|||||||
"r_2_desc": ""
|
"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": "平安夜",
|
"event": "平安夜",
|
||||||
"triggerDate": {
|
"triggerDate": {
|
||||||
|
|||||||
@@ -1,46 +1,3 @@
|
|||||||
{
|
{
|
||||||
"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": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user