Siehe "echtes" Festschreibungsdatum in Github (Stunde / Tag)

160

Gibt es eine Möglichkeit, das Datum eines Commits in Github mit Tag / Stunde-Genauigkeit anzuzeigen? Ältere Commits werden in einem "lesbaren" Format angezeigt, z. B. "vor 2 Jahren", anstatt das tatsächliche Datum anzuzeigen.

alter Github begehen

Wenn es nicht möglich ist, das tatsächliche Datum auf Github anzuzeigen, gibt es eine einfachere Problemumgehung als git clone?

Goncalopp
quelle

Antworten:

301

Bewegen Sie die Maus über das 2 years agound Sie erhalten den Zeitstempel.

Matt S.
quelle
32
Vielen Dank. Das ist "Usability"!
JD.
9
Gleiche Lösung für die Anzeige des Datums in StackOverflow. (Oben rechts, "vor 1 Jahr gefragt")
Greg
8
Vielen Dank. Es ist ziemlich leicht zu übersehen. Nicht die ideale Lösung, denke ich. ;-)
Nico
Ich hatte keine Ahnung, dass du das tun könntest ... das hat mir geholfen. Aber ich frage mich, gibt es einen git-Befehl, den Sie eingeben können, der diese Informationen anzeigt, wenn Sie den Commit-Hash übergeben?
CF_HoneyBadger
12
Leicht zu übersehen. Könnten sie nicht einfach das genaue Datum anzeigen?
Sudo
8

Das tatsächliche Datum wird für mich nicht angezeigt, wenn ich "vor 2 Jahren" schwebe, obwohl der Text von einem <time>Element mit einem ISO-Wert unter seinem datetimeAttribut umbrochen wird.

Wenn alles andere wie bei mir fehlschlägt, überprüfen Sie den Text.

Beispielelement:

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

Walter Roman
quelle
4
Hat nichts mit ihrem End- oder Zeitelement oder so etwas zu tun. Sie und Ihr Browser. Ein Titelattr wird von Browsern als Tooltip angezeigt, wenn Sie den Mauszeiger bewegen. Keine ausgefallenen Js, keine CSS, nichts. Einige Leute haben Probleme mit Chrom und Titel attr gemeldet, siehe stackoverflow.com/questions/21314758/… stackoverflow.com/questions/10391327/…
dalore
4

Sie können einfach dieses Lesezeichen verwenden:

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

Es wird genau die richtige Zeit hinzugefügt: So: vor 21 Stunden festgelegt - 15. Februar 2017, 15:49 MEZ

Philipp Grulich
quelle
Ihre hat nicht für mich funktioniert, also habe ich das geschrieben und es hat funktioniert; +1 für die Inspirationjavascript:(function() { var el = document.createElement('div'); document.body.prepend(el); el.innerHTML = document.getElementsByTagName('relative-time')[0].getAttribute('title');}() )
Coty Embry
2

Ich habe das TamperMonkey / Greasemonkey-Skript von @ odony in Chrome ausprobiert, konnte es jedoch nicht zum Laufen bringen. detachCallback()wurde nicht erkannt. Anstatt Rückrufe zu trennen, habe ich einfach den <relative-time>Knoten ersetzt.

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

Entschuldigung, ich habe dies nicht mit einem anderen Browser getestet, aber da dies grundlegendes Javascript ist, sollte es einfach funktionieren. :) :)

Herr T.
quelle
1

Wenn Sie nach einer Möglichkeit suchen, Datum und Uhrzeit dauerhaft anzuzeigen, ohne den Mauszeiger zu bewegen (z. B. für Screenshots), stimmen die oben genannten Javascript-basierten Lösungen nicht mit dem neuesten Github-HTML überein (siehe Kommentare). Und sie haben nicht berücksichtigt, dass die Zeitstempel basierend auf einem Timer automatisch aktualisiert werden ( "Vor X Minuten" muss sich jede Minute ändern), sodass sie regelmäßig wieder angezeigt werden.

Das folgende Skript scheint ab dem 27.01.2020 auf Github zu funktionieren:

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

Sie können dies zu einem Lesezeichen machen, indem Sie dem Code javascript:wie in der anderen JS-basierten Lösung ein Präfix voranstellen .

Wenn Sie dies dauerhaft beheben möchten , können Sie dies wie folgt als TamperMonkey / Greasemonkey-Skript speichern:

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

Das ist nicht sehr hübsch, aber es scheint den Job zu machen.

Odony
quelle
0

Mit gitlab 10 habe ich dies verwendet, um dem Element den Tooltip-Titel als Standardtext hinzuzufügen:

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