gpt4 book ai didi

javascript - Moment.js - 两个日期的天数差异

转载 作者:IT王子 更新时间:2023-10-29 03:16:54 28 4
gpt4 key购买 nike

我在尝试查找两个日期之间的数字差异时得到了错误的结果:

var startDate = moment( $('[name="date-start"]').val(), "DD.MM.YYYY"), // $('[name="date-start"]').val() === "13.04.2016"
endDate = moment( $('[name="date-end"]' ).val(), "DD.MM.YYYY"); // $('[name="date-end"]').val() === "28.04.2016"

var diff = startDate.diff(endDate);

console.log( moment(diff).format('E') );

13.04.201628.04.2016 之间我不应该知道区别是 32天...

我尝试了多种组合:

  • startDate.diff(endDate)endDate.diff(startDate) 交换
  • format('E') 用我搜索 SO 得到的东西

结果:每次我得到的差异都是 3 或 2 天。

我做错了什么?提前致谢。

最佳答案

从moment.js docs : format('E') 代表星期几。因此你的差异是在一周中的哪一天计算的,它必须在 1 到 7 之间。

再次从 moment.js 文档开始,这是他们的建议:

var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
a.diff(b, 'days') // 1

这是针对您的特定情况的 JSFiddle:

$('#test').click(function() {
var startDate = moment("13.04.2016", "DD.MM.YYYY");
var endDate = moment("28.04.2016", "DD.MM.YYYY");

var result = 'Diff: ' + endDate.diff(startDate, 'days');

$('#result').html(result);
});
#test {
width: 100px;
height: 100px;
background: #ffb;
padding: 10px;
border: 2px solid #999;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.12.0/moment.js"></script>

<div id='test'>Click Me!!!</div>
<div id='result'></div>

关于javascript - Moment.js - 两个日期的天数差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36600687/

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