schedule.scheduleJob("0 * * * *",(async function () { try { let date=moment(); let weekDay=date.weekday()-1; let hour=date.hour(); let arr=await (poll.findAsync({ date:weekDay, time:hour },null)); await (util.runPoll(arr)); let objInfo=await (info.findOneAsync()); if(objInfo.db.hours.indexOf(hour)>-1) { await (util.backup(objInfo.db,objInfo.version)) } } catch (err) { console.log(err); } }))
Promise.all([fetchTZ(locationFrom, utz), fetchTZ(locationTo, utz)]) .then(([tzFrom, tzTo]) => { const [hh, mm, ss] = (timeFrom ? timeFrom : moment.tz(tzFrom).format('H:m:s')) .split(':') .map(e => +e); const fromDt = moment.tz(tzFrom).hour(hh).minute(mm); const toDt = moment.tz(tzFrom).hour(hh).minute(mm).tz(tzTo); return `${timeFrom ? 'When it\'s' : 'It\'s'} ${fromDt.format('h:mm a')} in ${getLocation(locationFrom)}, ${timeFrom ? 'it\'s' : 'and'} ${toDt.format('h:mm a')} in ${getLocation(locationTo)} `; })
/** * 下一个周期任务触发时间 */ const nextFireCycleServiceTime = function () { let today = moment().local(); let tomorrow = moment().local(); tomorrow.day(today.day() + 1); tomorrow.hour(7); tomorrow.minute(0); tomorrow.second(0); let fireMillisecond = tomorrow.diff(today); return fireMillisecond; // return 100; }
fetchTZ(location, utz) .then(tz => { const now = moment.tz(tz); const [hh, mm, ss] = time.split(':').map(e => +e); return hh === +now.hour() ? ` Yes, it's ${now.format('mm')} minutes past ${now.format('h a')} ${location ? ' in ' + getLocation(location) : ''} ` : ` No, it's ${now.format('h:mm a')} ${location ? ' in ' + getLocation(location) : ''} `; })
ctx.body.map(k => { if (!content[k.type]) { content[k.type] = [] } let date = moment(k.startTime) let day = '上午' if (date.hour() >= 12) { day = '下午' } if (date.hour() >= 18) { day = '晚上' } content[k.type].push({ 'name': k.labName, // 本来括号里是第几周周几,但这里很难拿到第几周,前端也不用这个参数,就只写周几就好了 'Date': date.format('YYYY年M月D日(ddd)'), 'Day': day, 'Teacher': k.teacherName, 'Address': k.location, 'Grade': k.score }) })
/** * 设置禁止访问的时间段 * @param start [Number] * @param end [Number] */ function times(start, end) { return function(req, res, next) { const hour = moment().hour() if (hour >= start || hour < end) { return res.send(JSON.stringify({ "flag": 0, "msg": `快去睡觉吧,${start}点至${end}点无法访问` })); } else { next() } } }
const [hour, minute] = time.split(':'); const value = date .hour(hour) .minute(minute) .second(0);
app.get('/api/serial/:command', (req, res) => { let serialCommand, hour, min; let command = req.params.command; if (command.includes('time')) { serialCommand = command.split(':time=')[0]; const hhmm = command.split(':time=')[1]; hour = hhmm.split(':')[0]; min = hhmm.split(':')[1]; let now = moment(new Date()); let future = moment(new Date()) .hour(hour) .minute(min); let diff = future.diff(now); if (diff < 0) { future.add(1, 'day'); } diff = future.diff(now); setTimeout(() => { serialHandler.writeString(serialCommand); }, diff); } else { serialHandler.writeString(req.params.command); } res.json({ success: true, }); });
.hour(12) const id = `${dayDate.toISOString()}_${membershipTypes.join('-')}` if (!days[id]) {
const date = moment.utc(dateString).tz('America/New_York') const day = date.isoWeekday() - 1 let hour = date.hour()
const lastModified = { day: lastModifiedAtDate.day(), hour: lastModifiedAtDate.hour(), min: lastModifiedAtDate.minute() hour: newModifiedAtDate.hour(), min: newModifiedAtDate.minute() if (lastModified.min === 0 || lastModified.hour === newModified.hour) { lastModified.hour -= 1 for (let i = lastModified.hour; i >= 0; i--) { const time = UTC_TO_HOUR_MAPPING[i] if (lastModifiedDayAvailability[time]) { for (let i = newModified.hour; i <= 23; i++) { const time = UTC_TO_HOUR_MAPPING[i] if (newModifiedDayAvailability[time]) {
fetchTZ(location, utz) .then(tz => { const nowUTC = moment.tz(utz).utc(); const dt = (date ? moment.utc(date) .hour(nowUTC.hour()) .minute(nowUTC.minute()) .second(nowUTC.second()) : moment ).tz(utz); const realDayOfWeek = dt.tz(tz).format('dddd'); return dayofweek === realDayOfWeek ? ` Yes, it's ${realDayOfWeek} ` : `No, it's ${realDayOfWeek}` })