|
|
Line 4: |
Line 4: |
| <html> | | <html> |
| <script> | | <script> |
| // I could've just used moment.js for the whole thing :c
| | function updatetime() { |
| var repeatFunction = setInterval(updateTime, 1000);
| |
| function updateTime() {
| |
| var datetime = new Date();
| |
| var utcts = datetime.getTime() + (datetime.getTimezoneOffset() * 60000);
| |
| var utc = new Date(utcts);
| |
| var jpt = new Date(utcts + (3600000 * 9));
| |
|
| |
|
| document.getElementById("japantime").innerText = formatDate(jpt, "ddd HH:mm:ss d MMM yyyy") + " JST";
| | } |
| document.getElementById("utctime").innerText = formatDate(utc, "ddd HH:mm:ss d MMM yyyy") + " UTC";
| |
| document.getElementById("usertime").innerText = formatDate(datetime, "ddd HH:mm:ss d MMM yyyy") + " " + moment.tz(moment.tz.guess()).format("z");
| |
| }
| |
|
| |
|
| // https://stackoverflow.com/a/14638191/3505377 by gilly3 (361684) and Graeme Perrow (1821)
| | function gettime(timezone) { |
| function formatDate(date, format, utc) {
| |
| var MMMM = ["\x00", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
| |
| var MMM = ["\x01", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
| |
| var dddd = ["\x02", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
| |
| var ddd = ["\x03", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
| |
|
| |
|
| function ii(i, len) {
| | } |
| var s = i + "";
| | </script> |
| len = len || 2;
| |
| while (s.length < len) s = "0" + s;
| |
| return s;
| |
| }
| |
| | |
| var y = utc ? date.getUTCFullYear() : date.getFullYear();
| |
| format = format.replace(/(^|[^\\])yyyy+/g, "$1" + y);
| |
| format = format.replace(/(^|[^\\])yy/g, "$1" + y.toString().substr(2, 2));
| |
| format = format.replace(/(^|[^\\])y/g, "$1" + y);
| |
| | |
| var M = (utc ? date.getUTCMonth() : date.getMonth()) + 1;
| |
| format = format.replace(/(^|[^\\])MMMM+/g, "$1" + MMMM[0]);
| |
| format = format.replace(/(^|[^\\])MMM/g, "$1" + MMM[0]);
| |
| format = format.replace(/(^|[^\\])MM/g, "$1" + ii(M));
| |
| format = format.replace(/(^|[^\\])M/g, "$1" + M);
| |
| | |
| var d = utc ? date.getUTCDate() : date.getDate();
| |
| format = format.replace(/(^|[^\\])dddd+/g, "$1" + dddd[0]);
| |
| format = format.replace(/(^|[^\\])ddd/g, "$1" + ddd[0]);
| |
| format = format.replace(/(^|[^\\])dd/g, "$1" + ii(d));
| |
| format = format.replace(/(^|[^\\])d/g, "$1" + d);
| |
| | |
| var H = utc ? date.getUTCHours() : date.getHours();
| |
| format = format.replace(/(^|[^\\])HH+/g, "$1" + ii(H));
| |
| format = format.replace(/(^|[^\\])H/g, "$1" + H);
| |
| | |
| var h = H > 12 ? H - 12 : H == 0 ? 12 : H;
| |
| format = format.replace(/(^|[^\\])hh+/g, "$1" + ii(h));
| |
| format = format.replace(/(^|[^\\])h/g, "$1" + h);
| |
| | |
| var m = utc ? date.getUTCMinutes() : date.getMinutes();
| |
| format = format.replace(/(^|[^\\])mm+/g, "$1" + ii(m));
| |
| format = format.replace(/(^|[^\\])m/g, "$1" + m);
| |
| | |
| var s = utc ? date.getUTCSeconds() : date.getSeconds();
| |
| format = format.replace(/(^|[^\\])ss+/g, "$1" + ii(s));
| |
| format = format.replace(/(^|[^\\])s/g, "$1" + s);
| |
| | |
| var f = utc ? date.getUTCMilliseconds() : date.getMilliseconds();
| |
| format = format.replace(/(^|[^\\])fff+/g, "$1" + ii(f, 3));
| |
| f = Math.round(f / 10);
| |
| format = format.replace(/(^|[^\\])ff/g, "$1" + ii(f));
| |
| f = Math.round(f / 10);
| |
| format = format.replace(/(^|[^\\])f/g, "$1" + f);
| |
| | |
| var T = H < 12 ? "AM" : "PM";
| |
| format = format.replace(/(^|[^\\])TT+/g, "$1" + T);
| |
| format = format.replace(/(^|[^\\])T/g, "$1" + T.charAt(0));
| |
| | |
| var t = T.toLowerCase();
| |
| format = format.replace(/(^|[^\\])tt+/g, "$1" + t);
| |
| format = format.replace(/(^|[^\\])t/g, "$1" + t.charAt(0));
| |
| | |
| var tz = -date.getTimezoneOffset();
| |
| var K = utc || !tz ? "Z" : tz > 0 ? "+" : "-";
| |
| if (!utc) {
| |
| tz = Math.abs(tz);
| |
| var tzHrs = Math.floor(tz / 60);
| |
| var tzMin = tz % 60;
| |
| K += ii(tzHrs) + ":" + ii(tzMin);
| |
| }
| |
| format = format.replace(/(^|[^\\])K/g, "$1" + K);
| |
| | |
| var day = (utc ? date.getUTCDay() : date.getDay()) + 1;
| |
| format = format.replace(new RegExp(dddd[0], "g"), dddd[day]);
| |
| format = format.replace(new RegExp(ddd[0], "g"), ddd[day]);
| |
| | |
| format = format.replace(new RegExp(MMMM[0], "g"), MMMM[M]);
| |
| format = format.replace(new RegExp(MMM[0], "g"), MMM[M]);
| |
| | |
| format = format.replace(/\\(.)/g, "$1");
| |
| | |
| return format;
| |
| };
| |
| </script>
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js" integrity="sha256-AdQN98MVZs44Eq2yTwtoKufhnU+uZ7v2kXnD5vqzZVo=" crossorigin="anonymous"></script>
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.28/moment-timezone-with-data.js" integrity="sha256-O1PdKrSbpAYWSBteb7yX/CMmHhu3US31mtCbsryGwaY=" crossorigin="anonymous"></script>
| |
| </html> | | </html> |
|
| |
|
| {| style="width: 100%; text-align: center" class="wikitable" | | {| style="width: 100%; text-align: center" |
| ! style="text-align: center" colspan="3" | Current Time | | ! style="text-align: center" colspan="3" | Current Time |
| |- | | |- |
| ! style="text-align: center; width: 33%" | Japan | | ! style="text-align: center" | Japan |
| ! style="text-align: center; width: 33%" | GMT/UTC | | ! style="text-align: center" | GMT/UTC |
| ! style="text-align: center; width: 33%" | Your Timezone | | ! style="text-align: center" | Your Timezone |
| |- | | |- |
| | <div id="japantime">Loading...</div> | | | <div id="japantime">Loading...</div> |