PHP: [7] ฟังก์ชั่นเกี่ยวกับ วัน/เวลา
ฟังก์ชั่น date() จะส่งคืนข้อมูลชนิดสตริงที่แสดง วัน/เวลา ตามรูปแบบที่กำหนด โดยพิจารณา วัน/เวลา จาก วัน/เวลา ปัจจุบันของเครื่อง หรือจากอาร์กิวเมนต์ตัวที่ 2 (ถ้ามีการระบุ) รูปแบบ date (สตริง [, timestamp])
ความหมายของสตริงในฟังก์ชั่น date() ตัวอักษร ความหมาย a หน่วยของเวลาแบบตัวพิมพ์เล็ก นั่นคือ "am" หรือ "pm" A หน่วยของเวลาแบบตัวพิมพ์ใหญ่ นั่นคือ "AM" หรือ "PM" d วันที่ โดยมีศูนย์นำหน้า นั่นคือ "01" ถึง "31" D ชื่อวันในสัปดาห์ 3 ตัวแรก เช่น "Sun", "Mon", "Tue" เป็นต้น F ชื่อเต็มของเดือน เช่น "January", "February" เป็นต้น g เลขชั่วโมงแบบ 12 ชั่วโมง โดยไม่มี 0 นำหน้า นั่นคือ "1" ถึง "12" G เลขชั่วโมงแบบ 24 ชั่วโมง โดยไม่มี 0 นำหน้า นั่นคือ "0" ถึง "23"
ความหมายของสตริงในฟังก์ชั่น date() ตัวอักษร ความหมาย h เลขชั่วโมงแบบ 12 ชั่วโมง โดยมี 0 นำหน้า นั่นคือ "01" ถึง "12" H เลขชั่วโมงแบบ 24 ชั่วโมง โดยมี 0 นำหน้า นั่นคือ "00" ถึง "23" i เลขนาที นั่นคือ "00" ถึง "59" j วันที่ โดยไม่มีศูนย์นำหน้า นั่นคือ "1" ถึง "31" l (แอล) ชื่อเต็มของวันในสัปดาห์ เช่น "Sunday", "Monday" เป็นต้น L ค่าตรรกะที่แสดงว่าเดือนกุมภาพันธ์ของปีที่ระบุมี 29 วันหรือไม่ โดย "1" หมายถึงมี 29 วัน, "0" หมายถึงมี 28 วัน
ความหมายของสตริงในฟังก์ชั่น date() ตัวอักษร ความหมาย m หมายเลขของเดือน โดยมี 0 นำหน้า นั่นคือ "01" ถึง "12" M ชื่อเดือน เฉพาะตัวอักษร 3 ตัวแรก เช่น "Jan", "Feb" เป็นต้น n หมายเลขของเดือน โดยไม่มี 0 นำหน้า นั่นคือ "1" ถึง "12" r วัน/เวลา ในรูปแบบของ RFC 822 เช่น "Thu, 21 Dec 2000 16:01:07 +0200" เป็นต้น (PHP 4.0.4 ขึ้นไปเท่านั้น) s เลขวินาที นั่นคือ "00" ถึง "59"
ความหมายของสตริงในฟังก์ชั่น date() ตัวอักษร ความหมาย S ordinal suffix ของเลขวันที่ในภาษาอังกฤษ นั่นคือ "st" (วันที่ซึ่งลงท้ายด้วยเลข 1), "nd" (วันที่ซึ่งลงท้ายด้วยเลข 2), "rd" (วันที่ซึ่งลงท้ายด้วยเลข 3) และ "th" (วันที่ซึ่งลงท้ายด้วยเลขอื่น ๆ ที่ไม่ใช่ 1, 2 และ 3) t จำนวนวันของเดือน นั่นคือ "28" ถึง "31" T เขตเวลา (timezone) เช่น "MDT", "EST" เป็นต้น U จำนวนวินาทีทั้งหมดนับตั้งแต่เวลา 00:00 น. ของวันที่ 1 มกราคม พ.ศ. 2513
ความหมายของสตริงในฟังก์ชั่น date() ตัวอักษร ความหมาย w หมายเลขของวันในสัปดาห์ นั่นคือ "0" (วันอาทิตย์) ถึง "6" (วันเสาร์) y เลขปีแบบ 2 หลัก เช่น "02" เป็นต้น Y เลขปีแบบ 4 หลัก เช่น "2002" เป็นต้น z หมายเลขของวันภายในปี นั่นคือ "0" ถึง "365"
ตัวอย่าง : ฟังก์ชั่น date() <html> <head> <title>การใช้ฟังก์ชั่นเกี่ยวกับวัน/เวลา</title> </head> <body> <?php echo date("วัน l ที่ j เดือน F ปี ค.ศ. Y เวลา H:i น."); ?> </body> </html> ex11_01.php
ฟังก์ชั่น getdate() รูปแบบ getdate(timestamp)
ฟังก์ชั่น getdate() : อินเด็กซ์ ความหมาย seconds เวลาในส่วนของวินาที minutes เวลาในส่วนของนาที hours เวลาในส่วนของชั่วโมง mday วันที่ wday วันในสัปดาห์ ตั้งแต่ 0 (วันอาทิตย์) ถึง 6 (วันเสาร์) อินเด็กซ์ ความหมาย mon หมายเลขเดือน year ปี yday หมายเลขของวันภายในปี weekday ชื่อเต็มของวันในสัปดาห์ month ชื่อเต็มของเดือน
ตัวอย่าง : ฟังก์ชั่น getdate() <html> <head> <title>การใช้ฟังก์ชั่นเกี่ยวกับวัน/เวลา</title> </head> <body> <?php $today = getdate(); echo $today["month"] . "<br />\n"; echo $today["weekday"] . "<br />\n"; echo $today["year"] . "<br />\n"; ?> </body> </html> ex11_02.php
ฟังก์ชั่น checkdate() รูปแบบ checkdate(หมายเลขเดือน, วันที่, ปี ค.ศ. 4 หลัก) เป็นฟังก์ชั่นที่ใช้ตรวจสอบว่า วัน-เดือน-ปี ที่ระบุมีอยู่จริงหรือไม่
ตัวอย่าง : ฟังก์ชั่น checkdate() <html> <head> <title>การใช้ฟังก์ชั่นเกี่ยวกับวัน/เวลา</title> </head> <body> <?php if (checkdate(2, 29, 2001)) { echo "วัน-เดือน-ปีที่ระบุมีอยู่จริง"; } else { echo "วัน-เดือน-ปีที่ระบุไม่มีอยู่จริง"; ?> </body> </html> ex11_03.php ตรวจสอบว่าวันที่ 29 กุมภาพันธ์ 2544 มีอยู่จริงหรือไม่
ฟังก์ชั่น mktime() รูปแบบ เป็นฟังก์ชั่นที่ใช้สร้าง timestamp(วัน/เวลา) ขึ้นมาจากตัวเลข วัน, เดือน, ปี, ชั่วโมง, นาที และวินาที ที่กำหนด
ตัวอย่าง : ฟังก์ชั่น mktime() <html> <head> <title>การใช้ฟังก์ชั่นเกี่ยวกับวัน/เวลา</title> </head> <body> <?php echo "วัน/เวลาปัจจุบันในเครื่อง<br />"; echo date("วัน l ที่ j เดือน F ปี Y, เวลา H:i น.") . "<hr />\n"; echo "ที่สหรัฐอเมริกาซึ่งเวลาตามหลังประเทศไทย 12 ชั่วโมง<br />"; echo "ขณะนี้จะเป็นวัน/เวลา<br />\n"; echo date("วัน l ที่ j เดือน F ปี Y, เวลา H:i น.", mktime(date("H")-12, date("i"), date("s"), date("m"), date("j"))) . "<hr />\n"; ?> </body> </html> ex11_04.php
ฟังก์ชั่น time() รูปแบบ time() เป็นฟังก์ชั่นที่ส่ง timestamp ของ วัน/เวลา ปัจจุบันในเครื่องกลับมาให้
ตัวอย่าง : ฟังก์ชั่น time() <html> <head> <title>การใช้ฟังก์ชั่นเกี่ยวกับวัน/เวลา</title> </head> <body> <?php $mytime1 = time(); echo "timestamp ของ วัน/เวลา ปัจจุบันคือ $mytime1"; echo "<br /> เอา timestamp ไปใส่ในฟังก์ชั่น date() จะได้ <br />"; echo date("วัน l ที่ j เดือน F ปี ค.ศ. Y", $mytime1); ?> </body> </html> ex11_05.php
ตัวอย่าง : วันเดือนปีภาษาไทย <html> <head> <title>การใช้ฟังก์ชั่นเกี่ยวกับวัน/เวลา</title> </head> <body> <?php $today = getdate(); $check_M[1] = "มกราคม"; $check_M[2] = "กุมภาพันธ์"; $check_M[3] = "มีนาคม"; $check_M[4] = "เมษายน"; $check_M[5] = "พฤษภาคม"; $check_M[6] = "มิถุนายน"; $check_M[7] = "กรกฎาคม"; $check_M[8] = "สิงหาคม"; $check_M[9] = "กันยายน"; $check_M[10] = "ตุลาคม"; $check_M[11] = "พฤศจิกายน"; $check_M[12] = "ธันวาคม"; $day_month = $today["mon"]; echo "วันนี้วันที่ ". $today["mday"] . " เดือน " . $check_M[$day_month] . " ปี " . ($today["year"]+543); ?> </body></html> ex11_06.php