เกี่ยวกับการหาวัน HomeForumเกี่ยวกับการหาวัน บุ้ง ต้องการหาวันที่ในเดือนถ้าเรารู้วัน เช่น วันนี้(3 พย. 51) เป็นวันจันทร์ แล้วต้องการทราบว่า วันจันทร์แรกของเดือนถัดไป(ธค.) เป็นวันที่เท่าไหร่ ต้องใช้ function อะไรครับ มี function ที่เป็น มาตฐาน เหรอป่าวครับ ขอบคุณครับ กรกฎ วิริยะ ฟังก์ชั่น date มีรายละเอียดค่อนข้างมากครับ ลองดูตัวอย่างได้ที่ http://th.php.net/date ครับ อาจต้องประยุกต์นิดหน่อย เนื่องจากอาจไม่มีคำสั่งเฉพาะตามที่ต้องการ trick อย่างหนึ่งของวันที่บน php คือ วันที่ในรูปแบบ mktime ครับ ลองใช้คำสั่งในรูปนี้ดู เช่น แปลงวันที่ ที่ต้องการเป็น mktime ค่อน แล้วค่อยแปลงกลับครับ ยกตัวอย่าง <?php $tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, date("Y")); // เมื่อวานนี้ echo date( 'd-m-y' , $tomorrow ).'<br />'; $lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); // วันนี้เมื่อเดือนที่แล้ว echo date( 'd-m-y' , $lastmonth ).'<br />'; $nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1); // วันนี้เมื่อปีที่แล้ว echo date( 'd-m-y' , $nextyear ); ?> Baronen eiei ขอถามหน่อยครับสงสัยอะครับ ทำไมต้องแปลงวันที่โดยใช้ฟังก์ชัน mktime อะครับ เพราะ ผมเขียนไม่เคยแปลงเลย ใช้โดยตรงจากฟังก์ชัน date() เลยอะครับ กรกฎ วิริยะ ค่าที่ได้จากฟังก์ชั่น date เป็น string ซึ่งเอาไว้ใชแสดงผลเท่านั้น ส่วนค่าที่ได้จาก mktime เป็นตัวเลข ซึ่งสามารถนำไปใช้คำนวณต่อได้ ครับ ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
trick อย่างหนึ่งของวันที่บน php คือ วันที่ในรูปแบบ mktime ครับ ลองใช้คำสั่งในรูปนี้ดู เช่น แปลงวันที่ ที่ต้องการเป็น mktime ค่อน แล้วค่อยแปลงกลับครับ
ยกตัวอย่าง
$tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, date("Y")); // เมื่อวานนี้
echo date( 'd-m-y' , $tomorrow ).'<br />';
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); // วันนี้เมื่อเดือนที่แล้ว
echo date( 'd-m-y' , $lastmonth ).'<br />';
$nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1); // วันนี้เมื่อปีที่แล้ว
echo date( 'd-m-y' , $nextyear );
?>
ทำไมต้องแปลงวันที่โดยใช้ฟังก์ชัน mktime อะครับ
เพราะ ผมเขียนไม่เคยแปลงเลย ใช้โดยตรงจากฟังก์ชัน date() เลยอะครับ