javascript从纪元值中获取小时和分钟

标签 javascript datetime

我正在使用下面的代码从纪元获取 hh:mm

 var dt = new Date(t*1000);  
    var hr = dt.getHours();
    var m = "0" + dt.getMinutes();
    return hr+ ':' + m.substr(-2)

对于以下值:

1542895249079  prints: 19:37  Expected: 2:00 PM
1542897015049  prints: 6:10  Expected: 2:30 PM
1542902445344  prints: 2:35  Expected: 4:00 PM

我对此有点迷茫,因为上面代码的转换值对我来说看起来很奇怪。

最佳答案

您的代码有两个问题:

  1. 对于您指定的示例值,无需乘以 1000,因为它们已经以毫秒表示。

  2. 如果您想不考虑本地时区信息,您必须使用 getUTCHours()getUTCMinutes()

    <

function convert(t) {
  const dt = new Date(t);
  const hr = dt.getUTCHours();
  const m = "0" + dt.getUTCMinutes();
  
  return hr + ':' + m.substr(-2)
}

console.log(convert(1542895249079));
console.log(convert(1542897015049));
console.log(convert(1542902445344));

关于javascript从纪元值中获取小时和分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53426551/

相关文章:

javascript - 如何使用 jQuery 设置 ajax post 的最大执行时间?

Javascript 函数和数组

C# 如何检查当前为字符串的日期是否为今天?

javascript - HTML5 Input datetime-local 跨浏览器获取日期对象

PHP 和 JavaScript - "Logout"代码在 Chrome 中有效,但在 Firefox 中无效

javascript - 单击不应发送表单的按钮时如何在 Angular 中关闭表单验证

php - jquery 显示特定元素然后在选择另一个元素时隐藏

java - Java中检测日期格式

android - 如何在 android 2.1 中比较系统日期和 mydate?

python - yaxis 上的 HourLocator() 引发运行时错误意外超过 Locator.MAXTICK