我正在使用以下代码在我的React应用中使用moment.js来查找2 unix时间戳之间的区别:
import Moment from 'moment';
Moment.duration(
Moment(this.state.saleEndTime).diff(Moment(this.state.saleStartTime))
).humanize()
其中
this.state.saleStartTime
是1511638810
(星期六,2017年11月25日19:40:10 GMT)this.state.saleEndTime
是1516909110
(星期四,2018年1月25日19:38:30 GMT)然而它正在提供输出
an hour
这显然不正确,应该是2个月。我做错了什么?
将时刻v2.19.2与节点v7.9.0
一起使用修改:输出需要humanize
',this.state.saleStartTime
和this.state.saleEndTime
之间的时差可以从几分钟到几个月......
答案 0 :(得分:6)
我没有意识到这是一张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>