2013-08-18 1 views
0

Я пытаюсь показать, как давно было загружено видео, я не могу найти часы и минуты Date Object Methods для работы в этом скрипте. Я работаю с скриптом под названием YouMax 2.0, и я редактировал функцию getDateDiff, я придумал этот edit of the function. Спасибо за любую помощь по этому поводу.javascript Date Object как давно

function getDateDiff(timestamp) { 
if (null === timestamp || timestamp === "" || timestamp === "undefined") return "?"; 
var splitDate = ((timestamp.toString().split('T'))[0]).split('-'); 
var splitTime = ((timestamp.toString().split('T'))[1]).split(':'); 
var d1 = new Date(); 
var d1Y = d1.getFullYear(); 
var d2Y = parseInt(splitDate[0], 10); 
var d1M = d1.getMonth() + 1; 
var d2M = parseInt(splitDate[1], 10); 
var d1D = d1.getDate(); 
var d2D = parseInt(splitDate[2], 10); 
var d1H = d1.getHours(); 
var d2H = parseInt(splitTime[0], 10); 
var d1T = d1.getMinutes(); 
var d2T = parseInt(splitTime[1], 10); 
var diffInMinutes = (d1T + 59 * d1H + 23) - (d2T + 59 * d2H + 23); 
if (diffInMinutes <= 1) return "1 Minute"; 
else if (diffInMinutes <= 59) return diffInMinutes + " Minutes"; 
var diffInHours = (d1H + 23 * d1M) - (d2H + 23 * d1M); 
if (diffInHours <= 1) return "1 Hour"; 
else if (diffInHours < 23) return diffInHours + " Hours"; 
var diffInDays = (d1D + 30 * d1M + 12 * d1Y) - (d2D + 30 * d2M + 12 * d2Y); 
if (diffInDays < 7) return diffInDays + " days"; 
else if (diffInDays > 7 && diffInDays < 14) return "1 week"; 
else if (diffInDays >= 14 && diffInDays < 30) return Math.floor(diffInDays/7) + " weeks"; 
var diffInMonths = (d1M + 12 * d1Y) - (d2M + 12 * d2Y); 
if (diffInMonths <= 1) return "1 month"; 
else if (diffInMonths < 12) return diffInMonths + " months"; 
var diffInYears = Math.floor(diffInMonths/12); 
if (diffInYears <= 1) return "1 year"; 
else if (diffInYears < 12) return diffInYears + " years"; 
} 

моя новая функция возвращает только минуты и другое, а также не обновление для изменения дня

+0

HTTP: // jsfiddle. net/DkzAV/3/your diffInHours - NaN –

+0

Ваш d2H является NaN –

+0

, вы можете видеть прогресс на http://jsfiddle.net/DkzAV/3/ –

ответ

0

Я предполагаю, что вы извлечение метки времени из базы данных MySQL. Также был дан ответ here. Главный ответ - в php, но он не сильно отличается от Javascript. Однако я предлагаю использовать php для этого.

+0

. Я понимаю, что означает u, но поскольку im использует скрипт другого пользователя, который является закодирован в javascript, я не могу изменить его на php – user2690217

0

вы можете увидеть, что ваше расщепление не было правильно ... это работает нормально ..

var splitDate = ((timestamp.toString().split('T'))[0]).split('-'); 
var splitTime = ((timestamp.toString().split('T'))[1]).split(':'); 
var splitTime1 = ((splitTime[2].toString().split('Z'))[0]).split('.'); 

splitDate[0] = Year; 
splitDate[1] = Month; 
splitDate[2] = Day; 

splitTime[0] = Hours; 
splitTime[1] = Minutes; 
splitTime1[0] = Seconds; 
splitTime1[1] = MilliSeconds; 

теперь вы можете выполнить то, что вы хотите ..

+0

благодарю вас за это, я попробую использовать его для скрипта – user2690217

+0

Я не могу заставить его работать со сценарием YouMax 2.0 – user2690217

+0

Вы можете разместить свое решение в jsfiddle.net – user2690217