|
|
|
สอบถามเรื่อง DateDiff() ครับ ถ้าฟอร์ม วัน/เดือน/ปี แยกกัน จะหาความต่างอย่างไรครับ |
|
|
|
|
|
|
|
อันนี้ผมมั่วไปเรื่อยครับ
ที่ต้องการคือ เมื่อเลือกครบทั้ง 6 ช่อง ให้แสดงผลต่างในช่องจำนวนอัตโนมัติเลยครับ
Code (PHP)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript">
function jsDateDiff(strDate1,strDate2){
date1 = new Date(strDate1);
date2 = new Date(strDate2);
var oneDay = 1000*60*60*24;
var defDate = (date2.getTime() - date1.getTime()) / oneDay
return defDate;
}
var obj = document.main;
obj.chk_gobbet.value = jsDateDiff(obj.d1.value+obj.m1.value+obj.y1.value,obj.d2.value+obj.m2.value+obj.y2.value);
</script>
</head>
<body>
<form name="main" action="<?php echo $_SERVER['PHP_SELF'];?>">
<table>
<tr>
<td>วันที่เข้า</td>
<td>
<select name="d1" onChange="jsDateDiff();">
<option value="">วัน</option>
<?php for($i=1;$i<=31;$i++){ ?>
<option value="<?=$i;?>"><?=$i;?></option>
<?php } ?>
</select>
<select name="m1" onChange="jsDateDiff();">
<option value="">เดือน</option>
<?php
$mname = array('','มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิายน','ธันวาคม');
for($i=1;$i<=12;$i++){
?>
<option value="<?=$i?>"><?=$mname[$i];?></option>
<?php } ?>
</select>
<select name="y1" onChange="jsDateDiff();">
<option value="">ปี</option>
<?PHP for($i=date("Y")+2;$i>=date("Y")-20;$i--){ ?>
<option value="<?=$i;?>"><?=$i+543;?></option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td>วันที่ออก</td>
<td>
<select name="d2" onChange="jsDateDiff();">
<option value="">วัน</option>
<?php for($i=1;$i<=31;$i++){ ?>
<option value="<?=$i;?>"><?=$i;?></option>
<?php } ?>
</select>
<select name="m2" onChange="jsDateDiff();">
<option value="">เดือน</option>
<?php
$mname = array('','มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิายน','ธันวาคม');
for($i=1;$i<=12;$i++){
?>
<option value="<?=$i?>"><?=$mname[$i];?></option>
<?php } ?>
</select>
<select name="y2" onChange="jsDateDiff();">
<option value="">ปี</option>
<?PHP for($i=date("Y")+2;$i>=date("Y")-20;$i--){ ?>
<option value="<?=$i;?>"><?=$i+543;?></option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td>จำนวนวัน</td>
<td><input type="text" name="chk_gobbet" readonly/></td>
</tr>
</table>
</form>
</body>
</html>
Tag : PHP, JavaScript
|
ประวัติการแก้ไข 2015-01-26 10:41:25
|
|
|
|
|
Date :
2015-01-26 10:36:31 |
By :
sabaitip |
View :
719 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รวม String ให้เป็น Format Date ก่อนครับ แล้วค่อยเอาไป Diff กันครับ
PHP DateDiff / TimeDiff -
|
|
|
|
|
Date :
2015-01-26 14:55:31 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยนไปทำแบบใส่จำนวนวันแทนครับ แต่มีปัญหาคือไม่แสดงส่วนของปีครับ
Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="javascript">
function fncDateadd(){
var d = new Date();
d.setDate(d.getDate() + parseInt(document.getElementById("gobbet").value));
// วัน
mkDay = d.getDate();
mkDay = new String(mkDay);
if(mkDay.length == 1){
mkDay = "0"+mkDay;
}
// เดือน
mkMonth = d.getMonth() + 1;
mkMonth = new String(mkMonth);
if(mkMonth.length == 1){
mkMonth = "0"+mkMonth;
}
// ปี
mkYear = d.getFullYear();
document.getElementById("d1").selectedIndex = mkDay;
document.getElementById("m1").selectedIndex = mkMonth;
document.getElementById("y1").selectedIndex = mkYear;
}
</script>
จำนวนวัน
<input type="text" name="gobbet" id="gobbet" size="1" onKeyup="fncDateadd();"/>
วันที่ออก
<select class="myInput" name="d1" id="d1" style="width: 62px">
<option value="">วัน</option>
<?php for($i=1;$i<=31;$i++){ ?>
<option value="<?=$i;?>" <?php if($i == date("d")){ echo 'selected'; } ?>><?=$i;?></option>
<?php } ?>
</select>
<select class="myInput" name="m1" id="m1" style="width: 90px">
<option value="">เดือน</option>
<?php
$month = array('','มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิายน','ธันวาคม');
for($i=1;$i<=12;$i++){
?>
<option value="<?=$i?>" <?php if($i == date("m")){ echo 'selected'; } ?>><?=$month[$i];?></option>
<?php } ?>
</select>
<select class="myInput" name="y1" id="y1" style="width: 90px">
<option value="">ปี</option>
<?PHP for($i=date("Y")+2;$i>=date("Y")-20;$i--){ ?>
<option value="<?=$i;?>" <?php if($i == date("Y")){ echo 'selected'; } ?>><?=$i+543;?></option>
<?php } ?>
</select>
|
ประวัติการแก้ไข 2015-01-27 03:42:28
|
|
|
|
Date :
2015-01-27 03:40:20 |
By :
sabaitip |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|