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.

1 line
754 B

var e=`Asia/Shanghai`;function t(t){if(!t)return null;let n=new Date(t);if(Number.isNaN(n.getTime()))return null;let r=new Intl.DateTimeFormat(`en-GB`,{timeZone:e,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}).formatToParts(n),i=e=>r.find(t=>t.type===e)?.value??`00`,a=i(`hour`)===`24`?`00`:i(`hour`);return`${i(`year`)}-${i(`month`)}-${i(`day`)} ${a}:${i(`minute`)}:${i(`second`)}`}function n(e){let t=(e??``).trim();if(!t)return null;let n=t.match(/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2}))?/);if(!n)return null;let[,r,i,a,o,s,c=`00`]=n;return`${r}-${i}-${a}T${o}:${s}:${c}+08:00`}function r(e,n=`—`){let r=t(e);return r?r.replace(/:\d{2}$/,``):n}export{n,t as r,r as t};