V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
katsusan
V2EX  ›  反馈

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

  •  
  •   katsusan · 2020-12-09 01:35:03 +08:00 · 1640 次点击
    这是一个创建于 1447 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个小小的建议,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>
    
    第 1 条附言  ·  2020-12-11 14:01:58 +08:00

    主帖里只举例了topic的确切时间显示,为了保持风格一致对应的回复也应该能看到具体时间。

    // current v2ex reply

    <span class="ago">329 天前</span>
    

    // reply with showing absolute time

    <span class="ago" title="2020-01-17 14:22:43 +08:00">329 天前</span>
    
    7 条回复    2020-12-11 23:57:58 +08:00
    Livid
        1
    Livid  
    MOD
       2020-12-11 09:36:46 +08:00
    好的,我今天会上线这个改进。

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

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

    不过我感觉目前有一个小小的问题就是有的时候这个悬停触发的等待时间好像有点长。
    katsusan
        7
    katsusan  
    OP
       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
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   915 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 20:15 · PVG 04:15 · LAX 12:15 · JFK 15:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.