Ver fecha de confirmación "real" en github (hora / día)

161

¿Hay alguna manera de ver la fecha de un commit en github, con precisión día / hora? Las confirmaciones anteriores aparecen en un formato "legible para humanos", como "hace 2 años" en lugar de mostrar la fecha real.

viejo commit de github

Si no es posible ver la fecha real en github, ¿hay una solución más fácil que git clone?

goncalopp
fuente

Respuestas:

302

Pase el mouse sobre 2 years agoy obtendrá la marca de tiempo.

Matt S.
fuente
32
Gracias. Eso es "usabilidad"!
JD.
9
La misma solución para ver la fecha en StackOverflow. (Arriba a la derecha, "preguntado hace 1 año")
Greg
8
Gracias. Es bastante fácil perderse. No es la solución ideal, creo. ;-)
Nico
No tenía idea de que pudieras hacer esto ... esto me ayudó. Pero me pregunto, ¿hay algún comando git que pueda ingresar que muestre esta información si pasa el hash de confirmación?
CF_HoneyBadger
12
Fácil de perder. ¿No podrían simplemente mostrar la fecha exacta?
sudo
9

La fecha real no aparece para mí al pasar el cursor "hace 2 años", a pesar de que el texto está envuelto por un <time>elemento con un valor iso debajo de su datetimeatributo.

Si todo lo demás falla, como lo hizo para mí, intente inspeccionar el texto.

Elemento de muestra:

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

Walter Roman
fuente
44
No tiene nada que ver con su elemento final o de tiempo ni nada de eso. Eres tú y tu navegador. Los navegadores muestran un atributo de título como información sobre herramientas cuando se desplaza. Sin fantasía, sin CSS, nada. Algunas personas han reportado problemas con Chrome y el título attr, consulte stackoverflow.com/questions/21314758/… stackoverflow.com/questions/10391327/…
dalore
4

puedes 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

Agrega la hora correcta: así: comprometido hace 21 horas - 15. febrero de 2017, 15:49 MEZ

Philipp Grulich
fuente
El tuyo no funcionó para mí, así que escribí esto y funcionó; +1 para la inspiraciónjavascript:(function() { var el = document.createElement('div'); document.body.prepend(el); el.innerHTML = document.getElementsByTagName('relative-time')[0].getAttribute('title');}() )
Coty Embry
2

Intenté el script TamperMonkey / Greasemonkey de @ odony en Chrome, pero no pude hacerlo funcionar. detachCallback()No fue reconocido. Entonces, en lugar de separar las devoluciones de llamada, simplemente reemplacé el <relative-time>nodo.

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

Lo siento, no lo he probado con otro navegador, pero como se trata de JavaScript básico, debería funcionar. :)

Señor t
fuente
1

Si está buscando una manera de mostrar la fecha / hora de forma permanente sin desplazarse (por ejemplo, para capturas de pantalla), las soluciones basadas en Javascript anteriores no coinciden con el último HTML de Github (ver comentarios). Y no tuvieron en cuenta el hecho de que las marcas de tiempo se actualizan automáticamente en función de un temporizador ( "hace X minutos" tiene que cambiar cada minuto), por lo que reaparecerán periódicamente.

El siguiente script parece funcionar en Github desde 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
    });
})();

Puede hacer de esto un bookmarklet prefijando el código javascript:como en la otra solución basada en JS.

Y si desea que esto sea una solución permanente , puede guardarlo como un script TamperMonkey / Greasemonkey, de la siguiente manera:

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

Eso no es muy bonito, pero parece hacer el trabajo.

odia
fuente
0

Con gitlab 10 usé esto para agregar el título de información sobre herramientas al elemento como texto estándar:

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