รบกวน คำนวณวันที่ ทีจ้า time diff javascript
Moderator: mindphp
รบกวน คำนวณวันที่ ทีจ้า time diff javascript
time diff javascript
เรามี3ช่องกรอกด้วยกัน
ช่อง 1 เป็นการใส่วันที่โดยใช้จาวาสคิปต์ปฏิทิน รูปแบบที่ได้ในช่องคือ dd-mm-yyyy
ช่อง 2 เป็นการใส่วันที่โดยใช้จาวาสคิปต์ปฏิทิน รูปแบบที่ได้ในช่องคือ dd-mm-yyyy เหมือนกับช่อง 1
โดยจะเอาวันที่ช่องที่ 1 - ช่องที่ 2 แล้วผลลัพธ์จะออกมาเป็นจำนวนวันโดยออกมาช่องที่ 3
มีวิธีการคำนวณอย่างไรคะ
เรามี3ช่องกรอกด้วยกัน
ช่อง 1 เป็นการใส่วันที่โดยใช้จาวาสคิปต์ปฏิทิน รูปแบบที่ได้ในช่องคือ dd-mm-yyyy
ช่อง 2 เป็นการใส่วันที่โดยใช้จาวาสคิปต์ปฏิทิน รูปแบบที่ได้ในช่องคือ dd-mm-yyyy เหมือนกับช่อง 1
โดยจะเอาวันที่ช่องที่ 1 - ช่องที่ 2 แล้วผลลัพธ์จะออกมาเป็นจำนวนวันโดยออกมาช่องที่ 3
มีวิธีการคำนวณอย่างไรคะ
แก้ไขล่าสุดโดย mindphp เมื่อ 17/05/2010 7:43 pm, แก้ไขไปแล้ว 2 ครั้ง.
เหตุผล: ??????????????????????????????????????????????????????????? ??????????????? time diff javascript ?????????????????????????????????????????
เหตุผล: ??????????????????????????????????????????????????????????? ??????????????? time diff javascript ?????????????????????????????????????????
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41401
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: รบกวน คำนวณวันที่ ทีจ้า
ต้องการใช้ Javascript หรือ php ครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
-
- PHP Sr. Member
- โพสต์: 62
- ลงทะเบียนเมื่อ: 02/07/2009 3:55 pm
- ติดต่อ:
Re: รบกวน คำนวณวันที่ ทีจ้า
ตอนตั้งกระทู้ลืมเข้าสู่ระบบ
อยากได้แบบ จาวาสคริปต์คะ ขอโทษทีนะคะถ้าผิดหมวด
อยากได้แบบ จาวาสคริปต์คะ ขอโทษทีนะคะถ้าผิดหมวด
-
- PHP Sr. Member
- โพสต์: 62
- ลงทะเบียนเมื่อ: 02/07/2009 3:55 pm
- ติดต่อ:
Re: รบกวน คำนวณวันที่ ทีจ้า
ไปเจอผู้ใจดีแปลงให้ แต่ยังติดปัญหาคือ เราจะทำอย่างไรเมื่อเราคลิกปฎิทินทั้ง2ช่องแล้ว ช่องที่3มันจะคำนวณวันขึ้นมาอัตโนมัติเลย
โดยเราแก้ตัวด้านล่างใหม่
function jsDateDiff(strDate1,strDate2){
var theDate1 = Date.parse(strDate1)/1000;
var theDate2 = Date.parse(strDate2)/1000;
var diff=(theDate2-theDate1)/(60*60*24);
return diff;
}
document.write("Date Diff = "+jsDateDiff("document.formnew.input1","document.formnew.input2.value")+"<br>");
โดยเราแก้ตัวด้านล่างใหม่
function jsDateDiff(strDate1,strDate2){
var theDate1 = Date.parse(strDate1)/1000;
var theDate2 = Date.parse(strDate2)/1000;
var diff=(theDate2-theDate1)/(60*60*24);
return diff;
}
document.write("Date Diff = "+jsDateDiff("document.formnew.input1","document.formnew.input2.value")+"<br>");
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41401
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: รบกวน คำนวณวันที่ ทีจ้า
ในช่อง input2 ใส่ event ลงไปเช่น onchange="่javascript_function">
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41401
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: รบกวน คำนวณวันที่ ทีจ้า
function คำนวนออกมาเป็น ปี เดือน วัน ที่ต่างกันของ วันที่ สองตัว
โค้ด: เลือกทั้งหมด
function qryHowOld(from, until)
{
var dtAsOfDate;
var dtBirth;
var dtAnniversary;
var intSpan;
var intYears;
var intMonths;
var intWeeks;
var intDays;
var intHours;
var intMinutes;
var intSeconds;
var strHowOld;
abg = from.split('-')
aend = until.split('-')
s_form = abg[0]+','+abg[1]+','+abg[2];
s_until = aend[0]+','+aend[1]+','+aend[2];
// get born date
dtBirth = new Date(s_form);
// get as of date
dtAsOfDate = new Date(s_until);
// if as of date is on or after born date
if ( dtAsOfDate >= dtBirth )
{
// get time span between as of time and birth time
intSpan = ( dtAsOfDate.getUTCHours() * 3600000 +
dtAsOfDate.getUTCMinutes() * 60000 +
dtAsOfDate.getUTCSeconds() * 1000 ) -
( dtBirth.getUTCHours() * 3600000 +
dtBirth.getUTCMinutes() * 60000 +
dtBirth.getUTCSeconds() * 1000 )
// start at as of date and look backwards for anniversary
// if as of day (date) is after birth day (date) or
// as of day (date) is birth day (date) and
// as of time is on or after birth time
if ( dtAsOfDate.getUTCDate() > dtBirth.getUTCDate() ||
( dtAsOfDate.getUTCDate() == dtBirth.getUTCDate() && intSpan >= 0 ) )
{
// most recent day (date) anniversary is in as of month
dtAnniversary =
new Date( Date.UTC( dtAsOfDate.getUTCFullYear(),
dtAsOfDate.getUTCMonth(),
dtBirth.getUTCDate(),
dtBirth.getUTCHours(),
dtBirth.getUTCMinutes(),
dtBirth.getUTCSeconds() ) );
}
// if as of day (date) is before birth day (date) or
// as of day (date) is birth day (date) and
// as of time is before birth time
else
{
// most recent day (date) anniversary is in month before as of month
dtAnniversary =
new Date( Date.UTC( dtAsOfDate.getUTCFullYear(),
dtAsOfDate.getUTCMonth() - 1,
dtBirth.getUTCDate(),
dtBirth.getUTCHours(),
dtBirth.getUTCMinutes(),
dtBirth.getUTCSeconds() ) );
// get previous month
intMonths = dtAsOfDate.getUTCMonth() - 1;
if ( intMonths == -1 )
intMonths = 11;
// while month is not what it is supposed to be (it will be higher)
while ( dtAnniversary.getUTCMonth() != intMonths )
// move back one day
dtAnniversary.setUTCDate( dtAnniversary.getUTCDate() - 1 );
}
// if anniversary month is on or after birth month
if ( dtAnniversary.getUTCMonth() >= dtBirth.getUTCMonth() )
{
// months elapsed is anniversary month - birth month
intMonths = dtAnniversary.getUTCMonth() - dtBirth.getUTCMonth();
// years elapsed is anniversary year - birth year
intYears = dtAnniversary.getUTCFullYear() - dtBirth.getUTCFullYear();
}
// if birth month is after anniversary month
else
{
// months elapsed is months left in birth year + anniversary month
intMonths = (11 - dtBirth.getUTCMonth()) + dtAnniversary.getUTCMonth() + 1;
// years elapsed is year before anniversary year - birth year
intYears = (dtAnniversary.getUTCFullYear() - 1) - dtBirth.getUTCFullYear();
}
// to calculate weeks, days, hours, minutes and seconds
// we can take the difference from anniversary date and as of date
// get time span between two dates in milliseconds
intSpan = dtAsOfDate - dtAnniversary;
// get number of weeks
intWeeks = Math.floor(intSpan / 604800000);
// subtract weeks from time span
// intSpan = intSpan - (intWeeks * 604800000);
// get number of days
intDays = Math.floor(intSpan / 86400000);
// subtract days from time span
intSpan = intSpan - (intDays * 86400000);
// get number of hours
intHours = Math.floor(intSpan / 3600000);
// subtract hours from time span
intSpan = intSpan - (intHours * 3600000);
// get number of minutes
intMinutes = Math.floor(intSpan / 60000);
// subtract minutes from time span
intSpan = intSpan - (intMinutes * 60000);
// get number of seconds
intSeconds = Math.floor(intSpan / 1000);
// create output string
if ( intYears > 0 )
if ( intYears > 1 )
strHowOld = intYears.toString() + ' Years';
else
strHowOld = intYears.toString() + ' Year';
else
strHowOld = '';
if ( intMonths > 0 )
if ( intMonths > 1 )
strHowOld = strHowOld + ' ' + intMonths.toString() + ' Months';
else
strHowOld = strHowOld + ' ' + intMonths.toString() + ' Month';
/*
if ( intWeeks > 0 )
if ( intWeeks > 1 )
strHowOld = strHowOld + ' ' + intWeeks.toString() + ' Weeks';
else
strHowOld = strHowOld + ' ' + intWeeks.toString() + ' Week';
*/
if ( intDays > 0 )
if ( intDays > 1 )
strHowOld = strHowOld + ' ' + intDays.toString() + ' วัน';
else
strHowOld = strHowOld + ' ' + intDays.toString() + ' วัน';
if ( intHours > 0 )
if ( intHours > 1 )
strHowOld = strHowOld + ' ' + intHours.toString() + ' ชม.';
else
strHowOld = strHowOld + ' ' + intHours.toString() + ' ชม.';
if ( intMinutes > 0 )
if ( intMinutes > 1 )
strHowOld = strHowOld + ' ' + intMinutes.toString() + ' นาที';
else
strHowOld = strHowOld + ' ' + intMinutes.toString() + ' นาที';
if ( intSeconds > 0 )
if ( intSeconds > 1 )
strHowOld = strHowOld + ' ' + intSeconds.toString() + ' วินาที';
else
strHowOld = strHowOld + ' ' + intSeconds.toString() + ' วินาที';
}
else
strHowOld = 'Not Born Yet'
// return string representation
return strHowOld
}
alert( qryHowOld('2004-05-31', '2010-05-29') );
</script>
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
-
- PHP Sr. Member
- โพสต์: 62
- ลงทะเบียนเมื่อ: 02/07/2009 3:55 pm
- ติดต่อ:
Re: รบกวน คำนวณวันที่ ทีจ้า
ขอบคุณนะคะ
ฟังก์ชั่นที่ให้มานั้นคำตอบออกมาเป็นจำนวนวันหรือไม่เพราะเราจะเอาเป็นจำนวนวันนะคะ
ตอนนี้เราลองดัดแปลงอีกยังไงช่วยดูให้ทีนะคะมันค่ามันไม่ออกตรงช่องอินพุต
function jsDateDiff(strDate1,strDate2){
var theDate1 = Date.parse(strDate1)/1000;
var theDate2 = Date.parse(strDate2)/1000;
var diff=(theDate2-theDate1)/(60*60*24);
return diff;
}
document.formnew.input3.value = jsDateDiff(document.formnew.input1.value, document.formnew.input2.value);
<body>
<INPUT name="input1" size="10" readonly="true" onChange="jsDateDiff">
<INPUT name="input2" size="10" readonly="true" onChange="jsDateDiff">
<INPUT name="input3" size="10">
</body>
ฟังก์ชั่นที่ให้มานั้นคำตอบออกมาเป็นจำนวนวันหรือไม่เพราะเราจะเอาเป็นจำนวนวันนะคะ
ตอนนี้เราลองดัดแปลงอีกยังไงช่วยดูให้ทีนะคะมันค่ามันไม่ออกตรงช่องอินพุต
function jsDateDiff(strDate1,strDate2){
var theDate1 = Date.parse(strDate1)/1000;
var theDate2 = Date.parse(strDate2)/1000;
var diff=(theDate2-theDate1)/(60*60*24);
return diff;
}
document.formnew.input3.value = jsDateDiff(document.formnew.input1.value, document.formnew.input2.value);
<body>
<INPUT name="input1" size="10" readonly="true" onChange="jsDateDiff">
<INPUT name="input2" size="10" readonly="true" onChange="jsDateDiff">
<INPUT name="input3" size="10">
</body>
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41401
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: รบกวน คำนวณวันที่ ทีจ้า
ในช่อง input2 ใส่ event ลงไปเช่น onchange="่javascript_function(var1,var2)">mindphp เขียน:ในช่อง input2 ใส่ event ลงไปเช่น onchange="่javascript_function">
var1 , var2 คือ value ของ form ที่ต้องการเอาไปหาผลต่าง
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
-
- PHP Sr. Member
- โพสต์: 62
- ลงทะเบียนเมื่อ: 02/07/2009 3:55 pm
- ติดต่อ:
Re: รบกวน คำนวณวันที่ ทีจ้า
var1,var2
พิมพ์แบบนี้ไปเลยหรอคะ
คือค่าที่รับมันเป็ยวันที่จากอินพุตนะคะ งง
พิมพ์แบบนี้ไปเลยหรอคะ
คือค่าที่รับมันเป็ยวันที่จากอินพุตนะคะ งง
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41401
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: รบกวน คำนวณวันที่ ทีจ้า
ตัวอย่างการใช้งาน function กับการรับค่าจาก formSG14 เขียน:var1,var2
พิมพ์แบบนี้ไปเลยหรอคะ
คือค่าที่รับมันเป็ยวันที่จากอินพุตนะคะ งง
โค้ด: เลือกทั้งหมด
<script type="text/javascript">
function Myfuc(var1,var2)
{
var3 = var1+var2;
document.getElementById('var3').value = var3;
}
</script>
<body>
<form id="form1" method="post" action="">
<p>
<input type="text" name="textfield" id="textfield" />
<input type="text" name="textfield2" id="textfield2" onchange="Myfuc(document.getElementById('textfield').value,document.getElementById('textfield2').value)" />
<input type="text" name="var3" id="var3" />
</p>
</form>
ลอง Copy โค้ดไปลองดัดแปลงดูนะครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
-
- Similar Topics
- ตอบกลับ
- แสดง
- โพสต์ล่าสุด
-
-
โพสต์ใหม่ javascript check time out ถ้าไม่มีการคลิกใดๆบน page ติดต่อกัน
โดย jataz2 » 26/06/2019 5:57 pm » ใน JavaScript & jQuery Ajax & Node.JS - 1 ตอบกลับ
- 1502 แสดง
-
โพสต์ล่าสุด โดย tsukasaz
26/06/2019 6:22 pm
-
-
-
โพสต์ใหม่ การแปลง timestamp ให้เป็น date time หรือ time zone ใน python
โดย anawatj » 20/07/2023 3:59 pm » ใน Python Knowledge - 0 ตอบกลับ
- 7343 แสดง
-
โพสต์ล่าสุด โดย anawatj
20/07/2023 3:59 pm
-
-
-
โพสต์ใหม่ รับสมัคร ที่ปรึกษาโปรแกรมบัญชี [เลือกวันทำงานได้ / Full-Time Part-Time]
โดย น้องชะอมชุบไข่ » 08/12/2014 10:07 pm » ใน พูดคุยเรื่องทั่วไป จับฉ่าย - 2 ตอบกลับ
- 41544 แสดง
-
โพสต์ล่าสุด โดย น้องชะอมชุบไข่
13/12/2015 10:48 pm
-
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 3