nodejs moment moment-timezone
Use express, moment, moment-timezone const moment = require('moment-timezone'); app.get('/moment', (req, res) => { const datestr = '2020-07-01'; res.status(200).json({ local_offset: moment(datestr).utc(), local_unix: moment(datestr).unix(), zone0_unix: moment(datestr).zone(0).unix(), zone8_unix: moment(datestr).zone(8).unix(), timezone0_unix: moment.tz(datestr, 'GMT').unix(), timezone8_unix: moment.tz(datestr, 'Asia/Taipei').unix(), }); }); // No use, just for keep function dateForTimezone(offset, d) { // Copy date if supplied or use current d = d? new Date(+d) : new Date(); // Use supplied offset or system offset = offset || -d.getTimezoneOffset(); // Prepare offset values var offSign = offset < 0? '-' : '+'; offset = Math.abs(offset); var offHours = ('0' + (offset/60 | 0)).slice(-2); var offMins = ('0' + (offset % 60)).slice(-2); // Apply offset to d d.setUTCMinutes(d.getUTCMinutes() - offset); return offSign + offHours + ':' + offMins; // Return formatted string return d.getUTCFullYear() + '-' + ('0' + (d.getUTCMonth()+1)).slice(-2) + '-' + ('0' + d.getUTCDate()).slice(-2) + 'T' + ('0' + d.getUTCHours()).slice(-2) + ':' + ('0' + d.getUTCMinutes()).slice(-2) + ':' + ('0' + d.getUTCSeconds()).slice(-2) + '.' + ('000' + d.getUTCMilliseconds()).slice(-3) + offSign + offHours + ':' + offMins; } IMPORT Server timezone 0 ...