ดูวันที่กระทำ "จริง" ใน GitHub (ชั่วโมง / วัน)


161

มีวิธีดูวันกระทำใน github ด้วยความแม่นยำของวัน / ชั่วโมง การกระทำที่เก่ากว่านั้นจะปรากฏในรูปแบบ "ที่มนุษย์อ่านได้" เช่น "2 ปีก่อน" แทนที่จะแสดงวันที่ที่แท้จริง

GitHub เก่ากระทำ

หากไม่สามารถดูวันที่ที่เป็นจริงใน GitHub ได้วิธีแก้ปัญหาง่ายกว่าgit cloneหรือไม่

คำตอบ:


302

เลื่อนเมาส์ไปเหนือ2 years agoแล้วคุณจะได้รับการประทับเวลา


32
ขอบคุณ นั่นคือ "การใช้งาน"!
JD

9
โซลูชันเดียวกันสำหรับวิธีดูวันที่ใน StackOverflow (ด้านบนขวา "ถามเมื่อ 1 ปีก่อน")
Greg

8
ขอบคุณ มันค่อนข้างง่ายที่จะพลาด ไม่ใช่ทางออกที่ดีที่ฉันคิด ;-)
Nico

ฉันไม่รู้ว่าคุณสามารถทำสิ่งนี้ได้ ... สิ่งนี้ช่วยฉันออกไป แต่ฉันสงสัยว่ามีคำสั่ง git คุณสามารถป้อนที่จะแสดงข้อมูลนี้ถ้าคุณผ่านแฮชการกระทำ?
CF_HoneyBadger

12
ง่ายที่จะพลาด พวกเขาไม่สามารถแสดงวันที่ที่แน่นอนได้หรือ
sudo

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 ไม่มีอะไร บางคนมีรายงานว่ามีปัญหาเกี่ยวกับโครเมี่ยมและชื่อ attr ดู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

ฉันลองใช้สคริปต์ TamperMonkey / Greasemonkey ของ @ odony บน 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);
    });
})();

ขออภัยฉันไม่ได้ทำการทดสอบกับเบราว์เซอร์อื่น แต่เนื่องจากนี่เป็นจาวาสคริปต์พื้นฐานจึงควรใช้งานได้ :)


1

หากคุณกำลังมองหาวิธีแสดงวันที่ / เวลาอย่างถาวรโดยไม่ต้องโฮเวอร์ (เช่นภาพหน้าจอ) โซลูชันที่ใช้ Javascript ข้างต้นจะไม่ตรงกับ Github HTML ล่าสุด (ดูความคิดเห็น) และพวกเขาไม่คำนึงถึงความจริงที่ว่าการบันทึกเวลาได้รับการอัปเดตอัตโนมัติตามตัวจับเวลา ( "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
    });
})();

คุณสามารถทำbookmarkletนี้โดยนำหน้าโค้ดด้วยjavascript:เช่นเดียวกับในโซลูชัน JS-based อื่น ๆ

และถ้าคุณต้องการทำให้การแก้ไขนี้ถาวรคุณสามารถบันทึกเป็นสคริปต์ 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');
  })
}());
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.