const formatDate = (stamp, format = 'y-M-d') => { if (!stamp) return; try { let d = new Date(stamp); const fillzero = t => t > 9 ? t : ('0' + t); let year = d.getFullYear(), month = fillzero(d.getMonth() + 1), date = fillzero(d.getDate()), hour = fillzero(d.getHours()), min = fillzero(d.getMinutes()), sec = fillzero(d.getSeconds()); let pre = '', aft = ''; let ymd = format.match(/^y(.+?)M(.+?)d/); let hm = format.match(/h\:m$/); let hms = format.match(/h\:m\:s$/); if (ymd) { let line = ymd[2] || ''; pre = [year, month, date].join(line); } if (hm) { aft = [hour, min].join(':'); } if (hms) { aft = [hour, min, sec].join(':'); } let output = [pre, aft].join(' '); return output.trim(); } catch (error) { console.log('time error', error) return stamp; }
}
const zeroToLocal = (stamp, format = 'y-M-d') => {
if (!stamp) return; try { let d = new Date(stamp); if (!d || d == 'Invalid Date') return stamp; let offset = new Date().getTimezoneOffset(); let localtime = d.getTime() - offset * 60 * 1000; let output = formatDate(localtime, format); return output; } catch (error) { console.log('time error', error) return stamp; } }
const localToZero = (stamp, format = 'y-M-d') => {
if (!stamp) return; let d = new Date(stamp); if (!d || d == 'Invalid Date') return stamp; d = d.toJSON().substr(0, 19); let [date, time] = d.split('T'); let [year, month, day] = date.split('-'); let [hour, min, sec] = time.split(':'); let output = ''; let pre = '', aft = ''; let ymd = format.match(/^y(.+?)M(.+?)d/); let hm = format.match(/h\:m$/); let hms = format.match(/h\:m\:s$/); if (ymd) { let line = ymd[2] || ''; pre = [year, month, day].join(line); } if (hm) { aft = [hour, min].join(':'); } if (hms) { aft = [hour, min, sec].join(':'); } output = [pre, aft].join(' '); return output.trim(); }
|