Дивіться "справжню" дату введення в github (година / день)


161

Чи є спосіб побачити дату вчинення в github з точністю день / година? Старі комісії відображаються у форматі, читаному людиною, наприклад, "2 роки тому", а не вказувати фактичну дату.

старий комбінат github

Якщо на Github неможливо побачити фактичну дату, чи є простіший спосіб вирішення, ніж git clone?

Відповіді:


302

Наведіть курсор на курсор миші 2 years agoта отримаєте позначку часу.


32
Дякую. Ось така «юзабіліті»!
JD.

9
Те саме рішення, як бачити дату в StackOverflow. (Вгорі праворуч, "запитували 1 рік тому")
Грег

8
Дякую. Це досить легко пропустити. Я не вважаю ідеальним рішенням. ;-)
Ніко

Я не мав уявлення, що ти можеш це зробити ... це мені допомогло. Але мені цікаво, чи можна ввести команду git, яка відобразить цю інформацію, якщо ви перейдете в хеш фіксації?
CF_HoneyBadger

12
Легко пропустити. Не могли вони просто вказати точну дату?
судо

9

Реальна дата не з’являється для мене після наведення курсора "2 роки тому", незважаючи на те, що текст обгорнутий <time>елементом зі значенням iso під його datetimeатрибутом.

Якщо все інше не вдається, як це було для мене, спробуйте перевірити текст.

Елемент зразка:

<time datetime="2015-01-22T20:48:13Z" is="relative-time" title="Jan 22, 2015, 2:48 PM CST">7 days ago</time>


4
Не має нічого спільного з їх кінцевим або часовим елементом чи чим-небудь подібним. Це ви та ваш браузер. Attr заголовка відображається веб-переглядачами як підказка під час наведення курсору. Ні фантазії js, ні css, нічого. Деякі люди повідомили про проблеми з хромом і назва атр см stackoverflow.com/questions/21314758 / ... stackoverflow.com/questions/10391327 / ...
dalore

4

ви можете просто скористатися цією закладкою js:

javascript:(function() { 
        var relativeTimeElements = window.document.querySelectorAll("relative time");
        relativeTimeElements.forEach(function(timeElement){
        timeElement.innerHTML = timeElement.innerHTML +" -- "+ timeElement.title;
        })
    }()
)

https://gist.github.com/PhilippGrulich/7051832b344d4cbd30fbfd68524baa38

Він додає просто правильний час: Ось так: здійснено 21 годину тому - 15 лютого 2017, 15:49 MEZ


Ваш не працював для мене, тому я написав це, і воно спрацювало; +1 для натхненняjavascript:(function() { var el = document.createElement('div'); document.body.prepend(el); el.innerHTML = document.getElementsByTagName('relative-time')[0].getAttribute('title');}() )
Coty Embry

2

Я спробував сценарій @ odony's TamperMonkey / Greasemonkey на Chrome, але не зміг його працювати. detachCallback()не впізнали. Тому замість від'єднання будь-яких зворотних викликів я просто замінив <relative-time>вузол.

// ==UserScript==
// @name         Github: always show absolute times
// @match        https://github.com/*
// ==/UserScript==

(function() {
    document.querySelectorAll("relative-time").forEach(function(el) {
        var parent = el.parentNode;
        var timestamp = el.title;
        var span = document.createElement("span");
        span.innerHTML = timestamp;
        parent.removeChild(el);
        parent.appendChild(span);
    });
})();

Вибачте, що я не тестував це в іншому браузері, але оскільки це основний javascript, він повинен просто працювати. :)


1

Якщо ви шукаєте спосіб постійно відображати дату / час без наведення курсора (наприклад, для знімків екрана), наведені вище рішення на основі Javascript не відповідають останнім HTML Github (див. Коментарі). І вони не взяли до уваги той факт, що часові позначки автоматично оновлюються на основі таймера ( "X хвилин тому" доводиться змінювати щохвилини), тому вони періодично з'являються знову.

Наступний сценарій, здається, працює на Github станом на 2020-01-27:

(function() {
    var els = window.document.querySelectorAll("time-ago,relative-time");
    els.forEach(function(el) {
        el.innerHTML = "on " + el.getFormattedTitle(); // original timestamp
        el.disconnectedCallback(); // stop auto-updates
    });
})();

Ви можете зробити це закладкою , встановивши префікс коду, javascript:як в іншому JS-рішенні.

І якщо ви хочете зробити це постійним виправленням, ви можете зберегти це у вигляді сценарію TamperMonkey / Greasemonkey таким чином:

// ==UserScript==
// @name         Github: always show absolute times
// @match        https://github.com/*
// ==/UserScript==

(function() {
    setTimeout(function() {
        var els = window.document.querySelectorAll("time-ago,relative-time");
        els.forEach(function(el) {
            el.innerHTML += ' <span class="text-small">(' + el.title + ')</span>'; // set original timestamp
            el.disconnectedCallback(); // stop auto-updates
        });
    }, 100); // YMMV, experiment with the timeout
})();

Це не дуже красиво, але, здається, це виконує роботу.


0

За допомогою gitlab 10 я використовував це, щоб додати назву підказки до елемента як стандартного тексту:

javascript:(function() { 
  var relativeTimeElements = window.document.querySelectorAll("time");
  relativeTimeElements.forEach(function(timeElement){
    timeElement.innerHTML = timeElement.innerHTML +" -- "+ timeElement.getAttribute('data-original-title');
  })
}());
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.