关于发帖时间和回复时间的显示建议

2020-12-09 01:35:03 +08:00
 katsusan

一个小小的建议,V2 的发帖时间目前都是类似于 h 小时 m 分钟前的格式,这样想知道确切时间的话还得自己算一下
(比如看到一个 780 天前的历史帖子没法直观看出是何时发布的),能否像 github 那样鼠标放上去显示标准的时间格式。

我参考了下 v2 和 github 的 html 元素,这样改在 chrome 下好像是可以的。
具体时间服务端渲染的时候应该可以根据 unix 时间戳算出来。希望 livid 大佬有空能改进一下,感谢。

// current V2EX topic_info style

<span class="topic_info">
  <div class="votes"></div>
  <a class="node" href="/go/jobs">酷工作</a>
   &nbsp;•&nbsp; 
  <strong><a href="/member/ethandyr">ethandyr</a></strong>
   &nbsp;•&nbsp; 1 小时 10 分钟前 &nbsp;•&nbsp; 最后回复来自
   <strong><a href="/member/yanzhiling2001">yanzhiling2001</a></strong>
</span>

// V2EX topic_info with showing absolute time when mouse hovered

<span class="topic_info">
  <div class="votes"></div>
  <a class="node" href="/go/jobs">酷工作</a>
   &nbsp;•&nbsp; 
  <strong><a href="/member/ethandyr">ethandyr</a></strong>
   &nbsp;•&nbsp; 
  <span title="2020 年 12 月 9 日 GMT+8 01:18:32">1 小时 10 分钟前</span> 
  &nbsp;•&nbsp; 最后回复来自
   <strong><a href="/member/yanzhiling2001">yanzhiling2001</a></strong>
</span>

// github 相对时间的 html 元素

<span class="f6 text-gray-light no-wrap ml-1">
  <relative-time datetime="2020-12-08T15:28:22Z" class="no-wrap" title="2020 年 12 月 8 日 GMT+8 下午 11:28">2 hours ago</relative-time>
</span>
1637 次点击
所在节点    反馈
7 条回复
Livid
2020-12-11 09:36:46 +08:00
好的,我今天会上线这个改进。

非常感谢。
Livid
2020-12-11 11:44:39 +08:00
我查看了相关部分的代码实现,需要说明的一件事情是,我们现有的代码实现绝对不会输出“780 天前”这种无意义的相对日期。我们目前的处理方式是超过一年的就显示绝对日期。

span title 当然也会在今天加上。
Livid
2020-12-11 13:25:45 +08:00
GitHub 的实现方式居然是一个 Web Component,真是很有意思。感谢分享。
Livid
2020-12-11 13:33:25 +08:00
这个更改已经部署。
katsusan
2020-12-11 14:18:52 +08:00
@Livid 站长辛苦了。另外帖子里只举例了主题的确切时间显示,我在 append 里加上了关于同样显示回复时间的建议,站长有空可以参考下,谢谢。
Livid
2020-12-11 19:28:15 +08:00
在回复和附言处的相对时间显示现在也有 title 了。谢谢。

不过我感觉目前有一个小小的问题就是有的时候这个悬停触发的等待时间好像有点长。
katsusan
2020-12-11 23:57:58 +08:00
我搜了下 title 的 tooltip 延迟好像是浏览器设定并且还不能更改。
https://stackoverflow.com/questions/9150796/change-how-fast-title-attributes-tooltip-appears

在我的 Chrome 86 这里要 1 秒左右延迟,感觉可以接受。如果要自定义 tooltip 的话得引入第三方组件
或者用 JS+CSS 实现一个简单的 tooltip(比如官方的 hover::after 示例)。
https://developer.mozilla.org/en-US/docs/Web/CSS/::after

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/733553

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX