时刻JavaScript-获取两个日期之间的差异
我试图在moment.js中获取今天日期和目的地日期之间的日期差异,下面是我要做的:时刻JavaScript-获取两个日期之间的差异,javascript,date,momentjs,Javascript,Date,Momentjs,我试图在moment.js中获取今天日期和目的地日期之间的日期差异,下面是我要做的: var now = moment().format('DD/MM/YYYY HH:mm:ss'); var then = moment("15/09/2017 14:20:30").format('DD/MM/YYYY HH:mm:ss'); //here i try the difference var diffTime = moment.utc(moment(now).diff(moment(then)))
var now = moment().format('DD/MM/YYYY HH:mm:ss');
var then = moment("15/09/2017 14:20:30").format('DD/MM/YYYY HH:mm:ss');
//here i try the difference
var diffTime = moment.utc(moment(now).diff(moment(then)));
console.log("differenza per countdown "+diffTime);
console.log返回我“无效日期”,但如果我使用now作为“then”,它将返回我0(这是正确的),我如何才能创建一个正确格式化的数据?为什么要将该时刻格式化为字符串,然后再对其进行解析?这样做没有意义 在差异上使用moment.duration:
var now=moment();
var-then=力矩(“2017年9月15日14:20:30”,“年月日HH:MM:ss”);
//在这里,我尝试不同
var diffTime=瞬间持续时间(然后是.diff(现在));
console.log(“每次倒计时的差异”+diffTime);
log(“人性化:+diffTime.personalize(true));
console.log(diffTime.days()+“/”+diffTime.months()+“/”+diffTime.years()+“+diffTime.hours()+”:“+diffTime.minutes()+”:“+diffTime.seconds())代码>
为什么要将瞬间格式化为字符串,然后再解析它?这样做没有意义
在差异上使用moment.duration:
var now=moment();
var-then=力矩(“2017年9月15日14:20:30”,“年月日HH:MM:ss”);
//在这里,我尝试不同
var diffTime=瞬间持续时间(然后是.diff(现在));
console.log(“每次倒计时的差异”+diffTime);
log(“人性化:+diffTime.personalize(true));
console.log(diffTime.days()+“/”+diffTime.months()+“/”+diffTime.years()+“+diffTime.hours()+”:“+diffTime.minutes()+”:“+diffTime.seconds())代码>
您也可以使用Date.parse()
将日期转换为毫秒,然后查找差异。您也可以使用Date.parse()
将日期转换为毫秒,然后查找差异。您的日期格式不是标准格式,在这种情况下,显式地将其指定为第二个参数,否则在不同的浏览器中解析将失败
moment("15/09/2017 14:20:30", 'DD/MM/YYYY HH:mm:ss')
答:是的,除非中间有其他逻辑,否则转换为字符串并将其解析回最新状态是没有价值的
window.onload=function(){
var now=moment().format('DD/MM/YYYY HH:MM:ss');
var-then=力矩(“2017年9月15日14:20:30”,“DD/MM/YYYY HH:MM:ss”)。格式(“DD/MM/YYYY HH:MM:ss”);
//在这里,我尝试不同
var diffTime=矩.utc(矩(现在是'DD/MM/YYYY HH:MM:ss').diff(矩(然后是'DD/MM/YYYY HH:MM:ss'));
console.log(“每次倒计时的差异”+diffTime);
}
您的日期格式不是标准格式,在这种情况下,请明确将其指定为第二个参数,否则在不同的浏览器中解析将失败
moment("15/09/2017 14:20:30", 'DD/MM/YYYY HH:mm:ss')
答:是的,除非中间有其他逻辑,否则转换为字符串并将其解析回最新状态是没有价值的
window.onload=function(){
var now=moment().format('DD/MM/YYYY HH:MM:ss');
var-then=力矩(“2017年9月15日14:20:30”,“DD/MM/YYYY HH:MM:ss”)。格式(“DD/MM/YYYY HH:MM:ss”);
//在这里,我尝试不同
var diffTime=矩.utc(矩(现在是'DD/MM/YYYY HH:MM:ss').diff(矩(然后是'DD/MM/YYYY HH:MM:ss'));
console.log(“每次倒计时的差异”+diffTime);
}
似乎合法,但为什么返回负数?负数NaN
不是一个数字,如果你引用它的话。对我来说,结果是NaN,但日期解析可能会因浏览器而异,你可以添加断点并检查每个步骤中的值。似乎是合法的,但为什么返回负数?负数<代码>NaN
不是一个数字,如果你是指它的话。对我来说,结果是NaN,但日期解析可能因浏览器而异,你可以在每个步骤中添加断点并检查值。酷!但最后一件事,人性化返回我7天,但如果我想在DD/MM/YYYY HH:MM:ss格式中显示差异,我不确定您将如何在这种格式中显示差异。如果你想有天、月、年。。。不同的是,你可以用人性化来代替。我添加了一些东西,也许这就是你需要的@PdsInkcool!但最后一件事,人性化返回我7天,但如果我想在DD/MM/YYYY HH:MM:ss格式中显示差异,我不确定您将如何在这种格式中显示差异。如果你想有天、月、年。。。不同的是,你可以用人性化来代替。我添加了一些东西,也许这就是@PdsInk所需要的