เปรียบเทียบเวลา

ขอถามผู้รู้หน่อยนะคะคือพอดีติดการเปรียบเทียบเวลาคะแต่เจอ กระทู้ใน ajax
มันคำนวณออกมาเป็น เลขที่ต่างกันแต่พอดีว่าของ น้ำหอมเป็นแบบนี้คะ
เวลาที่มีอยุ่ในฐานข้อมูลมันต้องมาเปรียบเทียบกับเวลาปัจจุบันว่า
ห่างกัน กี่ปี กี่เดือน กี่่วัน เช่น
ในฐานช้อมูลเก็บเป็น 2008,9,14
วันที่ ปัจจุบัน เป็น 2010,1,1
เมื่อทดลองกระทู้ใน ajax
มันคำนวณออกมาเป็น เลขที่ต่างกัน

function timeDifference(laterdate,earlierdate) {
    // คำนวณความแตกต่างของวันที่
    var difference = laterdate.getTime() - earlierdate.getTime();
    // แปลงเป็นวัน ชม. นาที วินาที
    var daysDifference = Math.floor(difference/1000/60/60/24);
    difference -= daysDifference*1000*60*60*24
    var hoursDifference = Math.floor(difference/1000/60/60);
    difference -= hoursDifference*1000*60*60
    var minutesDifference = Math.floor(difference/1000/60);
    difference -= minutesDifference*1000*60
    var secondsDifference = Math.floor(difference/1000);
    // แสดงผล
    document.write('ต่างกัน = ' + daysDifference + ' วัน ' + hoursDifference + ' ชั่วโมง ' + minutesDifference + ' นาที ' + secondsDifference + ' วินาที <br />');
}
</script>
<script language="JavaScript">
var d1 = new Date(2010,1,1);     // 1 มค. 2000
var d2 = new Date(2008,9,14);  // 1 มค. 1900

timeDifference(d1,d2);
timeDifference(d2,d1);
</script>

ต่างกัน  475 วัน 0 ชม.0 วินาที
ต่างกัน -475 วัน 0 ชม. 0 วินาที


แต่นำ้หอมอยากได้ประมาณว่า
ต่างกัน กี่ปี กี่เดือน กี่่วัน
เช่น  ต่างกัน 1 ปี 2เดือน 3 วัน
รบกวนหน่อยนะคะ
01 ก.พ. 2553 1 2,832

แปลงวันให้เป็น ปี เดือน วัน สิครับ

ปี = วัน / 365

เดือน = เศษของปี / 30

เศษที่เหลือ คือวัน

ตัวอย่างดูเหมือนผมจะเคยเขียนบนเว็บนะครับ ลองหาดู
#1
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^