参见 github 中的“ real”提交日期/时间(小时/天)

有没有一种方法可以在 github 中精确地查看提交的日期?旧的提交以“人类可读”的格式出现,比如“2年前”,而不是显示实际日期。

old github commit

如果不可能在 github 上看到实际的日期,是否有比 git clone更容易的解决方案?

63447 次浏览

将鼠标悬停在 2 years ago上,就会得到时间戳。

尽管文本被一个在其 datetime属性下带有 iso 值的 <time>元素包装,但在我将鼠标停留在“2年前”时,实际日期并没有出现。

如果所有这些都失败了,就像我一样,试着检查一下文本。

示例元素:

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

你可以使用这个书签:

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小时前2017年2月15日15点49分

在 gitlab 10中,我使用这个来将工具提示标题作为标准文本添加到元素中:

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

如果你正在寻找一种方法来永久显示日期/时间而不停留(例如屏幕截图) ,以上基于 Javascript 的解决方案不匹配最新的 Github HTML (见注释)。他们没有考虑到时间戳是基于定时器自动更新的(“几分钟前”必须每分钟更改一次) ,因此它们会定期重新出现。

下面的脚本似乎在2020-01-27年的 Github 上有效:

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

您可以像在其他基于 JS 的解决方案中一样,在代码前面加上 javascript:,从而使其成为 书签

如果你想修复 永久的,你可以把它保存为 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
})();

这不是很漂亮,但它似乎做的工作。

我在 Chrome 上尝试了@odony 的 TamperMonkey/Greasemonkey 脚本,但无法工作。无法识别 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,所以应该可以正常工作。 :)

使用一个用户样式表插件(我在 chrome 中使用 stylebot)

time {
font-size: 0;
}
time:after {
content: attr(data-original-title);
font-size: 14px;
}

更新2021: 书签工具仍然是 GitHub 的唯一选择。
例如,请参见来自 < a href = “ https://twitter.com/JustinNoelDev”rel = “ nofollow noReferrer”> Justin Noel 的“ 在 GitHub 中显示实际提交时间

javascript:(function() {
var style = document.createElement('style');
document.head.appendChild(style);
var sheet = style.sheet;
sheet.addRule('time-ago:before,relative-time:before', 'content: attr(title);display: block;font-size: 0.5rem;');
})()

https://pbs.twimg.com/card_img/1432824610794393602/CE26XtQw?format=jpg&name=small


这与 GitLab 14.1(2021年7月)形成对比

显示绝对时间的用户设置

GitLab 在很多地方显示相对时间(例如,30分钟前)。

现在可以更改用户配置文件首选项,以显示绝对时间,例如,‘ May 18, 2021, 3:57 PM

绝对时间尊重您的浏览器设置和格式日期和时间基于您的首选地区,例如,英国英语比美国英语。

这个新的显示选项为需要它的用户提供了更多信息,例如将 GitLab 中的操作与外部系统关联。

dd GitHub

参见 文件问题

这是给高格斯的

javascript:(function() {
var items = Array.from(document.querySelectorAll('span,relative-time'));  items.forEach(function(item) {    item.innerText = item.getAttribute('data-content');    item.style.backgroundColor = '#eee';    item.style.padding = '5px';    item.style.color = '#333';    item.style.fontWeight = 'bold';  });})()