|
|
|
ป้อนปี-เดือน-วัน ให้ได้วันสุดท้ายของเดือน ป้อนปี-เดือน-วัน ให้ได้วันสุดท้ายของเดือนใช้วิธีไหนกันครับ |
|
|
|
|
|
|
|
มีสองทางคิดว่าทางไหนดีช่วยกันโหวตหน่อย (ไหนๆก็เข้ามาอ่านกันแล้ว)
ทางที่ 1
สร้างอะเรย์เก็บวันในแต่ละเดือน array('01'=>31,'02'=>28,...,'12'=>31);
IF เช็คเดือนว่าเป็นเดือนอะไร
เปลี่ยนค่าวันตามค่าในอะเรย์
ถ้าเป็นเดือนสองเช็คปีต่อว่ามี28หรือ29วัน
ทางที่ 2
เปลี่ยนวันให้เป็น31เสมอ
ใช้ checkdate ลองดูว่ามีวันนี้ในโลกจริงหรือไม่
ถ้ามีจบ
ถ้าไม่มีจริงเอาวันลบ1ลงเรื่อยๆ
|
|
|
|
|
Date :
30 พ.ค. 2550 22:56:10 |
By :
ohmza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทางที่ 2 ดีกว่านะ เพราะสามารถเปรียบเดือนกุมภาพันธ์ ตามพ.ศ. ได้ ด้วย
|
|
|
|
|
Date :
31 พ.ค. 2550 07:53:41 |
By :
kudo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมมีอีกทางครับ คือ
นำตัวแปร จาก text box ที่ส่งมา แยกออกด้วย function explode โดยใช้เครื่องหมาย "-" เป็นตัวแยก ดังนี้
$day = explode("-",$_POST[text_day]);
จากนั้น ใช้ function cal_days_in_month() เพื่อคำนวนหาวันทั้งหมดของเดือนที่ต้องการครับ
$answer = cal_days_in_month(CAL_GREGORIAN,(int)$day[1],$day[0]);
โดยค่าตัวแรกเป็นชื่อปฏิทินของที่ใช้กันอยู่ทุกวันนี้ครับ
ตัวที่ 2 เป็นค่าของเดือน 1-12
ตัวที่ 3 เป็นค่าของปี ค.ศ. ระบุเป็นจำนวนเต็มครับ
จากนั้นก็นำค่าต่างๆ มาต่อกัน เพื่อให้ได้ผลลัพท์ที่ต้องการ
$answer = $day[0]."-".$day[1]."-".$answer;
|
|
|
|
|
Date :
31 พ.ค. 2550 09:48:27 |
By :
ttt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แหล่มเลย
cal_days_in_month(CAL_GREGORIAN,$month,$year);
อันนี้แหละที่ต้องการหา
|
|
|
|
|
Date :
1 มิ.ย. 2550 13:48:43 |
By :
OhmzA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สุดยอดครับท่าน ttt
ผมลองแล้วขออนุณาตเขียนให้ดูง่าย ๆ นะครับ (แก้ของท่าน ttt )..
............
<?
$text_day="2007-02-13";
$day = explode("-",$text_day);
$answer = cal_days_in_month(CAL_GREGORIAN,(int)$day[1],$day[0]);
$answer = $day[0]."-".$day[1]."-".$answer;
echo "$answer";
?>
...............
ดีมากครับ
|
|
|
|
|
Date :
1 มิ.ย. 2550 13:56:20 |
By :
ครูน้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ ๐๐ ขอบคุณ อีกครั้ง ขอบคุณ อีกครั้ง
|
|
|
|
|
Date :
18 ก.พ. 2551 02:48:15 |
By :
บี |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|