【问题标题】:How to show time lapse like minutes go [closed]如何像分钟一样显示时间流逝[关闭]
【发布时间】:2021-07-18 17:31:55
【问题描述】:

我要存档的是用过去的新时间间隔替换 td 内部的当前时间。

如果当前时间为 09:33,则输出样本应为 33 分钟前

【问题讨论】:

  • 你的意思是你想每小时只显示几分钟还是什么意思,如果是真的添加你在 js 中尝试过的例子

标签: javascript jquery wordpress


【解决方案1】:

此处有 2 个选项:hh:mm 读数或 h 小时、m 分钟读数

let intv
window.addEventListener('load', () => {
  intv = setInterval(() => {
    if (document.querySelector('.time')) {
      clearInterval(intv)
      doTimeThing()
    }
  }, 100)
})

function doTimeThing() {
  let d = new Date();
  let ct = (+d.getHours() * 60) + +d.getMinutes();
  let t = document.querySelector('.time').innerText.split(':');
  let ti = (+t[0] * 60) + +t[1];
  let elapsed = ct - ti;
  if (elapsed < 0) {
    console.log('the time has not yet happened')
  } else {
    let eh = ('0' + Math.floor(elapsed / 60)).slice(-2)
    let em = ('0' + elapsed % 60).slice(-2)
    let h = +eh === 1 ? 'hour' : 'hours'
    let m = +em === 1 ? 'minute' : 'minutes'
    let edisp = `${+eh} ${h}, ${+em} ${m} ago`;
    // or if you like this format hh:mm 
    // let edisp = `${eh}:${em} ago`;
    document.querySelector('.time').innerText = edisp;
  }
}
<table>
  <tr>
    <td class="time" tabindex="0">09:00</td>
  </tr>
</table>

【讨论】:

  • 正在工作,但我如何用几分钟前的时间替换当前时间?我在 wordpress 中使用 $ 给我带来了问题。谢谢
  • 答案更新为 2 种不同的显示方式,它也替换了 TD 标签文本
  • @privacymx - 这对你有用吗?
  • 好的,没问题,谢谢,我无法让它为 wordpress 工作,我在 HTMLDocument 的错误。 ((index):854) LINE IS let t = document.querySelector('.timeago ').innerText.split(':');
  • 好的,我更新它以等待页面首先加载。你能试试吗。谢谢
猜你喜欢
  • 1970-01-01
  • 2012-06-16
  • 1970-01-01
  • 2018-07-27
  • 2019-08-10
  • 2020-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多