function ISO8601Z(date) { // handles years from 0000 to 9999 only return ("000" + date.getUTCFullYear()).slice(-4) + "-" + ("0" + (date.getUTCMonth() + 1)).slice(-2) + "-" + ("0" + date.getUTCDate()).slice(-2) + "T" + ("0" + date.getUTCHours()).slice(-2) + ":" + ("0" + date.getUTCMinutes()).slice(-2) + ":" + ("0" + date.getUTCSeconds()).slice(-2) + "," + ("00" + date.getUTCMilliseconds()).slice(-3) + "Z"; } function ISO8601Local(date) { // handles years from 0000 to 9999 only var offset = date.getTimezoneOffset(); var offsetSign = "-"; if (offset <= 0) { offsetSign = "+"; offset = -offset; } var offsetHours = Math.floor(offset / 60); var offsetMinutes = offset - offsetHours * 60; return ("000" + date.getFullYear()).slice(-4) + "-" + ("0" + (date.getMonth() + 1)).slice(-2) + "-" + ("0" + date.getDate()).slice(-2) + "T" + ("0" + date.getHours()).slice(-2) + ":" + ("0" + date.getMinutes()).slice(-2) + ":" + ("0" + date.getSeconds()).slice(-2) + "," + ("00" + date.getMilliseconds()).slice(-3) + offsetSign + ("0" + offsetHours).slice(-2) + ":" + ("0" + offsetMinutes).slice(-2); } var now = new Date(); document.writeln("
UTC client time is ", ISO8601Z(now), "
"); document.writeln("Local client time is ", ISO8601Local(now), "
");