gpt4 book ai didi

javascript - Moment.js 给出两个日期之间的差异不正确

转载 作者:搜寻专家 更新时间:2023-11-01 05:28:04 24 4
gpt4 key购买 nike

我在我的 React 应用程序中使用 moment.js 并使用以下代码来查找 2 个 unix 时间戳 之间的差异:

import Moment from 'moment';

Moment.duration(
Moment(this.state.saleEndTime).diff(Moment(this.state.saleStartTime))
).humanize()

在哪里

  • this.state.saleStartTime1511638810(2017 年 11 月 25 日星期六 19:40:10 GMT)
  • this.state.saleEndTime1516909110(2018 年 1 月 25 日星期四 19:38:30 GMT)

但是它给出了输出

an hour

这显然不正确,应该是2个月。我做错了什么?

在节点 v7.9.0 中使用 moment v2.19.2


编辑:输出需要人性化this.state.saleStartTimethis.state.saleEndTime之间的时间差可以从几分钟到几个月......

最佳答案

我没有意识到这是一个 unix 戳记。
你应该使用 unix然后方法:

moment.duration(
moment.unix(1516909110).diff(moment.unix(1511638810))
).humanize();

运行片段:

const result = moment.duration(
moment.unix(1516909110).diff(moment.unix(1511638810))
).humanize();

const App = () => (
<div >
<div>{result}</div>
</div>
);

ReactDOM.render(<App />, document.getElementById('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/moment@2.19.2/moment.js"></script>
<div id="root"></div>

关于javascript - Moment.js 给出两个日期之间的差异不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47489983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com