ISO Formatted Time/Date for Github & StackOverflow

Change time/date to ISO format for Github and stackoverflow websites.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name ISO Formatted Time/Date for Github & StackOverflow
// @name:zh-CN 易读时间日期 for Github和StackOverflow等网站
// @namespace coolan
// @version 1.0
// @description Change time/date to ISO format for Github and stackoverflow websites.
// @description:zh-CN 把Github,stackoverflow等网站的时间转换为ISO格式,方便阅读。
// @author coolan
// @match https://github.com/*
// @match https://askubuntu.com/*
// @match https://stackapps.com/*
// @match https://superuser.com/*
// @match https://serverfault.com/*
// @match https://mathoverflow.net/*
// @match https://*.stackoverflow.com/*
// @match https://*.stackexchange.com/*
// @icon https://github.com/favicon.ico
// @grant none
// ==/UserScript==

(function () {
    'use strict';
    function replaceTime(){
        var time_list = document.querySelectorAll("span.relativetime, span.relativetime-clean")
        time_list.forEach(function(ele) {
            ele.innerText = ele.title.substring(0,16);
        })
        var items = document.getElementsByTagName("relative-time")
        for (var i = 0; i < items.length; i++) {
            var item = items[i];
            item.innerHTML = item.getAttribute("datetime").substring(0,16).replace(/T/," ");
        }
    }
    replaceTime();
    var observer = new MutationObserver(function (mutations, observer) {
        replaceTime();
    });
    var body = document.querySelector('body');
    var options = { 'childList': true };
    observer.observe(body, options);

})();