我一直在努力使用片刻JS获得两个日期的差异。
test1 = new Date("01/12/2015")
test2 = new Date("12/12/2014")
get_diff = moment.duration(moment(test1,"DD/MM/YYYY").diff(moment(test2,"DD/MM/YYYY")))
result_diff = get_diff.asDays()
console.log result_diff
它给出:365。它应该给31天。
答案 0 :(得分:1)
您无需使用durations
,也无需转换为“DD / MM / YYYY”格式。只需使用带有“days”的diff
方法作为第二个参数:
var test1 = new Date("01/12/2015");
var test2 = new Date("12/12/2014");
var result_diff = moment(test1).diff(moment(test2), "days"); // 31
答案 1 :(得分:1)
您应该使用字符串本身实例化时刻对象:
var test1 = moment('01/12/2015', 'MM/DD/YYYY');
var test2 = moment('12/12/2014', 'MM/DD/YYYY');
var get_diff = moment.duration(test1.diff(test2));
var result_diff = get_diff.asDays();
答案 2 :(得分:0)
我认为您应该更改代码以获得天差异
var date1 = new Date("01/12/2015")
var date2 = new Date("12/12/2014")
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
答案 3 :(得分:0)
你写它的方式,你不应该使用JS日期对象,你有月和日切换。
test1 = "01/12/2015";
test2 = "12/12/2014";
get_diff = moment.duration(moment(test1,"MM/DD/YYYY").diff(moment(test2,"MM/DD/YYYY")))
result_diff = get_diff.asDays()
console.log(result_diff)