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) ); }