javascript - MomentJS 错误输出
问题描述
我正在使用 moment 将毫秒转换为日期和时间它给了我预期的正确输出,但是在转换相同的日期+时间时它给了我错误的输出。
我使用了 unix,valueOf 矩方法。
const moment = require('moment-timezone');
console.log(moment.tz(1567032260763,'x','America/Chicago').format('MM-DD-YYYY hh:mm:ss A')) //gives me 08-28-2019 05:44:20 PM which is right.
console.log(moment('08-28-2019 05:44:20 PM','MM-DD-YYYY hh:mm:ss A').valueOf()); // gives me 1567032260000 instead of 1567032260763
请指导我哪里错了!
解决方案
function callMoment() {
console.log(moment.tz(1567032260763,'x','America/Chicago').format('MM-DD-YYYY hh:mm:ss A'))
console.log(moment.tz('08-28-2019 05:44:20.763 PM','MM-DD-YYYY hh:mm:ss.S A','America/Chicago').valueOf());
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.26/moment-timezone-with-data.min.js"></script>
<button onclick="callMoment()">Call Me</button>
您在将其转换回来时会丢失几毫秒。
console.log(moment.tz(1567032260763,'x','America/Chicago').format('MM-DD-YYYY hh:mm:ss A'))
console.log(moment.tz('08-28-2019 05:44:20.763 PM','MM-DD-YYYY hh:mm:ss.S A','America/Chicago').valueOf());
现在输出是正确的。
推荐阅读
- python - 如何在数据框python中创建具有特定数字的空列?
- android - Android/Kotlin onClick 从一个片段
- php - 如何使用 sprintf 函数添加 Html 标签
- docker - 如何使用 docker-nginx-certbot 创建我的域(包括 www)的 SSL 证书?
- java - Java执行过滤器和分组并使用2个列表执行媒体
- c++ - 打开 Gnome 终端选项卡,在 Ubuntu 18.04 LTS 上使用 C++ 运行命令
- javascript - 如何使我的 html 网站中的图片可点击?
- python - 检查每个偶数索引是否包含偶数并且每个奇数索引是否包含给定列表的奇数的程序存在问题
- symbolicc++ - 尝试将此数据类型包含在另一个头文件中时出现冲突类型错误我不确定为什么
- php - 与 if 语句相比,switch 语句如何加载?