มีวิธีดูวันกระทำใน github ด้วยความแม่นยำของวัน / ชั่วโมง การกระทำที่เก่ากว่านั้นจะปรากฏในรูปแบบ "ที่มนุษย์อ่านได้" เช่น "2 ปีก่อน" แทนที่จะแสดงวันที่ที่แท้จริง
หากไม่สามารถดูวันที่ที่เป็นจริงใน GitHub ได้วิธีแก้ปัญหาง่ายกว่าgit clone
หรือไม่
มีวิธีดูวันกระทำใน github ด้วยความแม่นยำของวัน / ชั่วโมง การกระทำที่เก่ากว่านั้นจะปรากฏในรูปแบบ "ที่มนุษย์อ่านได้" เช่น "2 ปีก่อน" แทนที่จะแสดงวันที่ที่แท้จริง
หากไม่สามารถดูวันที่ที่เป็นจริงใน GitHub ได้วิธีแก้ปัญหาง่ายกว่าgit clone
หรือไม่
คำตอบ:
เลื่อนเมาส์ไปเหนือ2 years ago
แล้วคุณจะได้รับการประทับเวลา
วันที่แท้จริงไม่ปรากฏสำหรับฉันเมื่อวางตัว "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>
คุณสามารถใช้บุ๊คมาร์ค 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
javascript:(function() { var el = document.createElement('div'); document.body.prepend(el); el.innerHTML = document.getElementsByTagName('relative-time')[0].getAttribute('title');}() )
ฉันลองใช้สคริปต์ 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);
});
})();
ขออภัยฉันไม่ได้ทำการทดสอบกับเบราว์เซอร์อื่น แต่เนื่องจากนี่เป็นจาวาสคริปต์พื้นฐานจึงควรใช้งานได้ :)
หากคุณกำลังมองหาวิธีแสดงวันที่ / เวลาอย่างถาวรโดยไม่ต้องโฮเวอร์ (เช่นภาพหน้าจอ) โซลูชันที่ใช้ 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
})();
ไม่สวยมาก แต่ดูเหมือนว่าจะทำงาน
ด้วย gitlab 10 ฉันใช้สิ่งนี้เพื่อเพิ่มชื่อคำแนะนำเครื่องมือให้กับองค์ประกอบเป็นข้อความมาตรฐาน:
javascript:(function() {
var relativeTimeElements = window.document.querySelectorAll("time");
relativeTimeElements.forEach(function(timeElement){
timeElement.innerHTML = timeElement.innerHTML +" -- "+ timeElement.getAttribute('data-original-title');
})
}());