Consulte a data de confirmação "real" no github (hora / dia)

160

Existe uma maneira de ver a data de um commit no github, com precisão de dia / hora? As confirmações mais antigas aparecem em um formato "legível por humanos", como "2 anos atrás", em vez de mostrar a data real.

commit antigo do github

Se não for possível ver a data real no github, existe uma solução mais fácil do que git clone?

goncalopp
fonte

Respostas:

301

Passe o mouse sobre o 2 years agoe você obterá o carimbo de data e hora.

Matt S.
fonte
32
Obrigado. Isso é "usabilidade"!
JD.
9
Mesma solução para ver a data no StackOverflow. (Canto superior direito, "perguntado 1 ano atrás")
Greg
8
Obrigado. É muito fácil perder. Não é a solução ideal, eu acho. ;-)
Nico
Eu não tinha ideia de que você poderia fazer isso ... isso me ajudou. Mas eu me pergunto, existe um comando git que você possa digitar que exibirá essas informações se você passar o hash de confirmação?
CF_HoneyBadger 23/03
12
Fácil de perder. Eles não poderiam apenas mostrar a data exata?
Sudo
8

A data real não aparece para mim ao passar o mouse "2 anos atrás", apesar do texto ser envolvido por um <time>elemento com um valor iso sob seu datetimeatributo.

Se tudo mais falhar, como aconteceu comigo, tente inspecionar o texto.

Elemento de amostra:

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

Walter Roman
fonte
4
Não tem nada a ver com o elemento final ou horário ou algo assim. É você e seu navegador. Um atributo attr é exibido pelos navegadores como uma dica de ferramenta quando você passa o mouse. Sem js chique, sem CSS, nada. Algumas pessoas relataram problemas com cromo e título attr ver stackoverflow.com/questions/21314758/... stackoverflow.com/questions/10391327/...
dalore
4

você pode apenas usar este marcador 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

Adiciona a hora correta: Assim: confirmada há 21 horas - 15. Fev. 2017, 15:49 MEZ

Philipp Grulich
fonte
O seu não funcionou para mim, então eu escrevi isso e funcionou; +1 para a inspiraçãojavascript:(function() { var el = document.createElement('div'); document.body.prepend(el); el.innerHTML = document.getElementsByTagName('relative-time')[0].getAttribute('title');}() )
Coty Embry
2

Tentei o script TamperMonkey / Greasemonkey da @ odony no Chrome, mas não consegui fazê-lo funcionar. detachCallback()não foi reconhecido. Portanto, em vez de desanexar quaisquer retornos de chamada, simplesmente substituí o <relative-time>nó.

// ==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);
    });
})();

Desculpe, eu não testei isso com outro navegador, mas como esse é o javascript básico, ele deve funcionar. :)

Mr. T
fonte
1

Se você está procurando uma maneira de exibir a data / hora permanentemente sem passar o mouse (por exemplo, para capturas de tela), as soluções baseadas em Javascript acima não correspondem ao HTML mais recente do Github (consulte os comentários). E eles não levaram em consideração o fato de que os carimbos de hora são atualizados automaticamente com base em um timer ( "X minutos atrás" precisa ser alterado a cada minuto); portanto, reaparecem periodicamente.

O script a seguir parece funcionar no Github a partir de 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
    });
})();

Você pode torná-lo um bookmarklet prefixando o código comjavascript: como na outra solução baseada em JS.

E se você quiser tornar isso uma correção permanente , salve-o como um script TamperMonkey / Greasemonkey, da seguinte maneira:

// ==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
})();

Isso não é muito bonito, mas parece fazer o trabalho.

odonia
fonte
0

Com o gitlab 10, usei isso para adicionar o título da dica de ferramenta ao elemento como texto padrão:

javascript:(function() { 
  var relativeTimeElements = window.document.querySelectorAll("time");
  relativeTimeElements.forEach(function(timeElement){
    timeElement.innerHTML = timeElement.innerHTML +" -- "+ timeElement.getAttribute('data-original-title');
  })
}());
Xeno
fonte