2 lines
1.6 KiB
JavaScript
2 lines
1.6 KiB
JavaScript
"use strict";const e=require("../vendor.js");e.dayjs.locale("zh-cn"),e.dayjs.extend(e.relativeTime),exports.generateTimeSlots=function(t=null){const r=t?e.dayjs(t):e.dayjs(),s=(t?e.dayjs(t):e.dayjs()).valueOf(),n=[];let o=8;for(;o<18;){const e=Math.min(o+2,18),t=r.hour(o).minute(0).second(0),a=r.hour(e).minute(0).second(0),u=t.format("HH:mm"),i=a.format("HH:mm"),m=s>=t.valueOf()&&s<a.valueOf();a.valueOf()>s&&n.push({label:m?"两个小时内":`${u}-${i}`,str:u,end:i,isCurrent:m,date:r.format("YYYY-MM-DD"),startTimestamp:t.valueOf(),endTimestamp:a.valueOf()}),o=e}return console.log("slots",n),n},exports.getCurrentHour=function(){const e=new Date,t=e.getHours(),r=e.getMinutes();return console.log(t,r,"dayjs().hour()"),{currentHour:t,currentMinute:r}},exports.getDate=function(t){return t?e.dayjs(t).format("YYYY-MM-DD"):""},exports.getFromNow=function(t){return t?e.dayjs(t).fromNow():""},exports.getIsInRangeInclusive=function(t,r){const s=e.dayjs(),n=e.dayjs(t),o=e.dayjs(r);return s.isAfter(n)&&s.isBefore(o)},exports.getTheFutureDay=function(t=1){return e.dayjs().add(t,"day").format("YYYY-MM-DD")},exports.getTimeRangeDisplay=function(t,r,s=null){try{const n=e.dayjs(t),o=e.dayjs(r),a=s?e.dayjs(s):e.dayjs();if(!n.isValid()||!o.isValid())return"时间格式错误";if(n.isAfter(o))return"时间顺序错误";if(a.isAfter(n)&&a.isBefore(o))return"两个小时内";return n.isSame(o,"day")?`${n.format("YYYY-MM-DD")} ${n.format("HH:mm")}-${o.format("HH:mm")}`:`${n.format("YYYY-MM-DD HH:mm")} - ${o.format("YYYY-MM-DD HH:mm")}`}catch(n){return"时间格式错误"}},exports.showDay=function(t){return e.dayjs(t).format("YYYY-MM-DD")};
|