เราจะลบวันที่แล้วให้แสดงจำนวนวัน ด้วย Javascript อย่างไร...JavaScript DateDiff , JavaScript TimeDiff
JavaScript TimeDiff
<script language="javascript">
StratDate = new Date( );
EndDate = new Date( );
StratDate.setDate(12); //กำหนดวันเริ่มต้น
StratDate.setMonth(30); //กำหนดเดือนเริ่มต้น
StratDate.setFullYear( 2009); //กำหนดปีเริ่มต้น
EndDate.setDate(15); //กำหนดวันสิ้นสุด
EndDate.setMonth(11); //กำหนดเดือนสิ้นสุด
EndDate.setFullYear( 2009) //กำหนุดปีสิ้นสุด
if (StratDate.getTime( ) < EndDate.getTime( ))
{
diff = EndDate.getTime( ) - StratDate.getTime( ); //วันสุดท้าย - วันเริ่ม = ? millisec
diff = Math.floor(diff / (1000 * 60 * 60 * 24));
var strdiff = document.write(diff + ' days ');
alert(strdiff);
}
</script>
Date :
2009-09-19 23:51:16
By :
extenser
Ajax and JavaScript TimeDriff
<SCRIPT language="javascript">
function TimeDriff()
{
var diff;
var start = new Array(3);
var end = new Array(3);
var st = document.getElementById('start').value;
var en = document.getElementById('end').value;
//Thai DateFormat 15/08/2552 - DD/MM/YYYY
//Split Start -> Date/Month/Year
start[0] = st.substr(0,2);
start[1] = st.substr(3,2);
start[2] = st.substr(6,4);
//Split End -> Date/Month/Year
end[0] = en.substr(0,2);
end[1] = en.substr(3,2);
end[2] = en.substr(6,4);
end[1] -= 1;
start[1] -= 1;
end[2] -= 543;
start[2] -= 543;
StratDate = new Date( );
EndDate = new Date( );
StratDate.setDate(start[0]);
StratDate.setMonth(start[1]);
StratDate.setFullYear(start[2]);
EndDate.setDate(end[0]);
EndDate.setMonth(end[1]);
EndDate.setFullYear(end[2])
if(StratDate.getTime( ) < EndDate.getTime( ))
{
diff = EndDate.getTime( ) - StratDate.getTime( );
diff = Math.floor(diff / (1000 * 60 * 60 * 24));
}
else if(EndDate.getTime( ) < StratDate.getTime( ))
{
diff = "0";
}
else if(EndDate.getTime( ) == StratDate.getTime( ))
{
diff = "0";
}
if(diff==undefined)
document.getElementById("tmdiff").value = "";
else
document.getElementById("tmdiff").value = diff;
}
</SCRIPT>
<b>Calculate Time Between </b><p>
<table border="1" cellspacing="0" cellpadding="2">
<tr><td>Time Start : </td><td><input type="text" id="start" name="start" onChange="TimeDriff()"></td></tr>
<tr><td>Time End : </td><td><input type="text" id="end" name="end" onChange="TimeDriff()"></td></tr>
<tr><td>Time Diff : </td><td><input type="text" id="tmdiff" name="diff"> Days</td></tr>
</table>
*แก้ไขให้ถูกต้องครับ
Date :
2009-09-20 07:32:45
By :
extenser
ขอบคุณครับ
Date :
2009-09-20 22:21:57
By :
mitchiketta
สุดยอด ขอบคุณมากเลยครับ ตามหามาแสนนาน ตรงใจเลย
Date :
2010-02-05 23:52:06
By :
jackiller
Mitchiketta ขอโค้ดด้วยค่ะ
Date :
2010-08-17 16:26:54
By :
sugardady
Code (PHP)
/**
* convert string date to date object
*/
var stringToDateObject = function(stringDate) {
var arrString = stringDate.split("/");
return new Date(arrString[1] + "/" + arrString[0] + "/" + arrString[2]);
};
/**
* calculate date between of two dates
*/
var dateBetween = function(startDate , endDate) {
var sDate = stringToDateObject(startDate);
var eDate = stringToDateObject(endDate);
// convert 1 day to milisecound
var oneDay = 24 * 60 * 60 * 1000;
return Math.round((eDate.getTime() - sDate.getTime()) / oneDay);
};
/**
* input date format dd/mm/yy
* javascrip date fomat mm/dd/yys
*/
alert("date between: " + dateBetween("01/02/2010", "01/01/2011"));
Date :
2010-08-17 16:48:21
By :
DS_Ohm
อยากได้แบบประมาณว่า 02/03/2011 - 02/12/2010 เหลือวันกี่วันค่ะ แต่ตอนน้ผลลัพธ์มันเป็น 455 มันไม่ถูกค่ะ รบกวนด้วยนะค่ะ
Date :
2010-12-02 13:31:58
By :
ฟ้า
ขอบคุณครับ เยี่ยมจิงๆ
Date :
2010-12-07 15:44:30
By :
dbnoon
ถ้าเป็นวันที่ end เป็น 31 เพี้ยนครับ
Date :
2016-04-21 17:04:16
By :
Rungvit
Load balance : Server 00