26 lines
636 B
TypeScript
26 lines
636 B
TypeScript
|
|
function shanghaiDateFromTimestamp(timestamp: number) {
|
||
|
|
return new Date(timestamp + 8 * 60 * 60 * 1000)
|
||
|
|
.toISOString()
|
||
|
|
.slice(0, 10);
|
||
|
|
}
|
||
|
|
|
||
|
|
function shanghaiHourFromTimestamp(timestamp: number) {
|
||
|
|
return Number(
|
||
|
|
new Date(timestamp + 8 * 60 * 60 * 1000)
|
||
|
|
.toISOString()
|
||
|
|
.slice(11, 13),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
export function isCollectionScheduleDue(
|
||
|
|
scheduledDate: string,
|
||
|
|
timestamp: number,
|
||
|
|
) {
|
||
|
|
const currentDate = shanghaiDateFromTimestamp(timestamp);
|
||
|
|
const currentHour = shanghaiHourFromTimestamp(timestamp);
|
||
|
|
return (
|
||
|
|
scheduledDate < currentDate ||
|
||
|
|
(scheduledDate === currentDate && currentHour >= 9)
|
||
|
|
);
|
||
|
|
}
|