2013-08-18 3 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/귀하의 diffInHours가 NaN –

+0

d2H가 NaN –

+0

일 때 진행 상황을 볼 수 있습니다. http://jsfiddle.net/DkzAV/3/ –

답변

0

난 당신이 MySQL 데이터베이스에서 타임 스탬프를 가져 오는 것으로 가정의 변경 분, 다른과 실 거예요 업데이 트를 반환합니다. 이 또한 here이라고 대답했습니다. 가장 큰 답변은 PHP이지만 Javascript와 실제로 다르지 않습니다. 나는 그러나 이것을 위해 PHP를 사용하는 것이 좋습니다.

+0

나는 무슨 뜻인지 이해하지만 다른 누군가의 스크립트를 사용하고 있기 때문에 자바 스크립트에 코딩 된 내가 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