Moment.js用星期和工作日定义的两个时刻的差值会得到错误的结果
Moment.js diff of two moments defined by week and weekday gives wrong result
我想计算一个时刻(itemMoment)和现在(nowMoment)之间的差值,由工作日、小时和分钟定义。如果itemMoment在nowMoment (diff <0)我想添加一个星期并再次计算差异,但是添加一个星期(在我的代码中是week: week + 1)不知何故不会改变差异,我仍然得到负差异。
这是我第一次使用moment.js库,所以可能我不知道如何正确使用它。如果有经验的人能帮上忙,那就太好了。
var now = moment();
var year = now.year();
var week = now.week();
var weekday = now.weekday();
var hour = now.hour();
var minute = now.minute();
var itemMoment = moment({
day: item.weekday,
hour: item.hour,
minute: item.minute
});
var nowMoment = moment({
day: weekday,
hour: hour,
minute: minute
});
if (itemMoment.diff(nowMoment) > 0) {
item.date = moment({
year: year,
week: week,
weekday: item.weekday,
hour: item.hour,
minute: item.minute
});
diff = itemMoment.diff(nowMoment);
}
else {
if (week == 51) {
week = -1;
year = year + 1
}
item.date = moment({
year: year,
week: week + 1,
weekday: item.weekday,
hour: item.hour,
minute: item.minute
});
diff = item.date.diff(now);
您可以使用isBefore()或isAfter()进行比较。http://momentjs.com/docs//查询/
if (itemMoment.isBefore(nowMoment)) {
然后你可以这样操作:http://momentjs.com/docs/#/manipulating/
item.date = itemMoment.add('weeks', 1);
相关文章:
- JQuery合并了keyup和focusout两个函数
- 如何使用 node.js 比较两个 json 数组
- 为复选框javascript指定两个值
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 单击时切换两个图像
- 我可以'我似乎不知道如何修复javascript中的两个lint.有人能帮我理解吗
- 基于两个条件退出While循环
- 如何在这里将两个值最低的数字相加
- 组合两个javascript函数
- 如何使用offer/answer交换来自两个对等连接的流
- jsf中两个字符串的颜色代码差异
- 加载两个具有相同父密钥名称的json文件
- 在Qualtrics中,介绍如何动态连接两个滑块
- 访问$.ajax()函数中的两个不同数组
- 如何在three.js上添加两个向量
- 如何在datetimepicker中使用两个验证器
- 用户输入时刻js的两个日期之间的差异
- Moment.js用星期和工作日定义的两个时刻的差值会得到错误的结果
- 两个并行运行的异步函数都完成执行的Catch时刻
- 将两个持续时间与日期或时刻一起添加,并将它们格式化为"HH:mm:ss"