코드가 작동하지 않는 이유는 날짜를 2 개의 시간 소인의 시간 소인으로 설정하려고하기 때문입니다. 나는 그것이 당신이 찾고있는 솔루션입니다 희망 http://jsfiddle.net/oo1hh3n2/
var then = 517449600;
var diff = Math.round((new Date().getTime() - (then * 1000))/1000);
var s = 1,
m = s * 60,
h = m * 60,
d = h * 24,
w = d * 7,
y = w * 52;
var years = Math.floor(diff/y);
var weeks = Math.floor(diff/w);
var days = Math.floor(diff/d);
var hours = Math.floor(diff/h);
var minutes = Math.floor(diff/m);
var time = [];
if (years > 0) {
time.push(years + 'y');
}
if (weeks > 0) {
var week = weeks - (years * 52);
if (week > 0) {
time.push(week + 'w');
}
}
if (days > 0) {
var day = days - (weeks * 7);
if (day > 0) {
time.push(day + 'd');
}
}
if (hours > 0) {
var hour = hours - (days * 24);
if (hour > 0) {
time.push(hour + 'h');
}
}
if (minutes > 0) {
var minute = minutes - (hours * 60);
if (minute > 0) {
time.push(minute + 'm');
}
}
if (diff > 0) {
var second = diff - (minutes * 60);
if (second > 0) {
time.push(second + 's');
}
}
console.log(time.join(' '));
: 당신이해야 할 것은 두 날짜 (타임 스탬프)의 차이를 얻을 초 차이를 계산입니까?
사이드 노트 : JavaScripts 날짜가 로직에 가장 적합하지 않습니다.
var d = new Date('2014-01-31'); // Fri Jan 31 2014 00:00:00 GMT+0000 (GMT Standard Time)
d.setMonth('+1'); // Mon Mar 03 2014 00:00:00 GMT+0000 (GMT Standard Time)
이미이 게시물을 본 나의 경우에는 작동하지 않습니다 http://momentjs.com/ – lloiser
을 시도 –