You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
1.2 KiB
2 lines
1.2 KiB
function n(n){if(!n)return"";const t=new Date(String(n));return Number.isNaN(t.getTime())?String(n).slice(0,10):new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(t)}function t(){return new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(new Date)}function e(n,t){return n&&t?n<t?-1:n>t?1:0:0}function i(i,r){const o=t(),u=n(i),a=n(r);return u||a?u&&!a?e(o,u)<0?"not_started":"ongoing":!u&&a?e(o,a)>0?"ended":"ongoing":e(o,u)<0?"not_started":e(o,a)>0?"ended":"ongoing":"ongoing"}function r(n){return"not_started"===n?"未开始":"ended"===n?"已结束":"进行中"}function o(e){if(!e)return!1;const i=n(e);if(!i)return!1;return i<t()}function u(n,t){const e=n=>{if(!n)return null;const t=n.slice(0,10).split("-").map(Number);if(3!==t.length)return null;const[e,i,r]=t;return Number.isFinite(e)&&Number.isFinite(i)&&Number.isFinite(r)?{y:e,m:i,d:r}:null},i=e(n),r=e(t);return i||r?i&&!r?`${i.y}年${i.m}月${i.d}日`:!i&&r?`${r.y}年${r.m}月${r.d}日`:i&&r?i.y===r.y?`${i.y}年${i.m}月${i.d}日至${r.m}月${r.d}日`:`${i.y}年${i.m}月${i.d}日至${r.y}年${r.m}月${r.d}日`:"日期待定":"日期待定"}export{r as a,i as c,u as f,o as i};
|