javascript - javascript从纪元值获取小时和分钟
问题描述
我正在使用以下代码从 epoch 获取 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
我对此有点迷茫,因为上面代码的转换值对我来说看起来很奇怪。
解决方案
您的代码有两个问题:
对于您指定的示例值,无需乘以 1000,因为它们已经以毫秒为单位。
如果您想将本地时区信息排除在帐户之外,则必须使用
getUTCHours()
andgetUTCMinutes()
。
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));
推荐阅读
- android - 远程打开显示和打开应用程序
- spring-boot - 带有 SpringBoot 和 Gradle 的 GraphQL 不起作用
- python-2.7 - PCA 不会降低我的数据的维数
- ruby-on-rails - rails 哈希数组计算一列
- wordpress - React Axios 从 WordPress REST 获取单个帖子的更好方法
- c# - 是否有必要 Dispose 对象包含 IFormFile(二进制文件)asp.net core 2
- python - 没有循环的Python Spacy相似性?
- c# - 如何在不使用 TryFindResource 的情况下从代码隐藏中获取 StaticResource 的实际对象?
- python - 计算熊猫的 Tf-Idf 分数?
- java - 发现能够从类型 [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] 转换的转换器