ฟังก์ชั่น PHP Date () & Time: วิธีรับการประทับเวลาปัจจุบัน
วันที่ PHP () ฟังก์ชัน
ฟังก์ชันวันที่ของ PHP เป็นฟังก์ชันในตัวที่ช่วยให้การทำงานกับประเภทข้อมูลวันที่ง่ายขึ้น ฟังก์ชันวันที่ของ PHP ใช้เพื่อจัดรูปแบบวันที่หรือเวลาให้เป็นรูปแบบที่มนุษย์สามารถอ่านได้ สามารถใช้แสดงวันที่เผยแพร่บทความ บันทึกข้อมูลอัปเดตล่าสุดในฐานข้อมูล
ไวยากรณ์วันที่ PHP และตัวอย่าง
PHP Date มีโครงสร้างพื้นฐานดังต่อไปนี้
<?php date(format,[timestamp]); ?>
ที่นี่
- “date(…)” เป็นฟังก์ชันที่ส่งคืนการประทับเวลาปัจจุบัน PHP บนเซิร์ฟเวอร์
- “format” คือรูปแบบทั่วไปที่เราต้องการให้ผลลัพธ์เป็น เช่น;
- “Ymd” สำหรับรูปแบบวันที่ PHP YYYY-MM-DD
- “Y” เพื่อแสดงปีปัจจุบัน
- "[ประทับเวลา]" เป็นทางเลือก หากไม่มีการระบุเวลา PHP จะได้รับวันที่และเวลาปัจจุบันของ PHP บนเซิร์ฟเวอร์
ลองดูตัวอย่างพื้นฐานที่แสดงปีปัจจุบัน
<?php echo date("Y"); ?>
Output:
2018
การประทับเวลาคืออะไร?
การประทับเวลาใน PHP คือค่าตัวเลขเป็นวินาทีระหว่างเวลาปัจจุบันและค่าที่ 1st มกราคม 1970 00:00:00 Greenwich Mean Time (GMT)
ค่าที่ส่งคืนโดยฟังก์ชันเวลาที่ขึ้นอยู่กับเขตเวลาเริ่มต้น
โซนเวลาเริ่มต้นถูกตั้งค่าไว้ในไฟล์ php.ini
นอกจากนี้ยังสามารถตั้งค่าโดยทางโปรแกรมโดยใช้ฟังก์ชัน date_default_timezone_set
รหัสด้านล่างแสดงการประทับเวลาปัจจุบัน
<?php echo time(); ?>
สมมติว่าคุณบันทึกไฟล์ timestamp.php ไว้ในโฟลเดอร์ phptuts ให้เรียกดู URL http://localhost/phptuts/timestamp.php
หมายเหตุ: ค่าของการประทับเวลา PHP ไม่ใช่ค่าคงที่ มันเปลี่ยนแปลงทุกวินาที
รับรายการตัวระบุโซนเวลาที่มีอยู่
ก่อนที่เราจะดูวิธีตั้งค่าเขตเวลาเริ่มต้นโดยทางโปรแกรม เรามาดูวิธีรับรายการเขตเวลาที่รองรับก่อน
<?php $timezone_identifiers = DateTimeZone::listIdentifiers(); foreach($timezone_identifiers as $key => $list){ echo $list . "<br/>"; } ?>
ที่นี่
- “$timezone_identifiers = DateTimeZone::listIdentifiers();” เรียกเมธอด listIdentifiers แบบคงที่ของ DateandTime Zone ที่สร้างขึ้นในคลาส เมธอด listIdentifiers ส่งคืนรายการค่าคงที่ที่กำหนดให้กับตัวแปร $timezone_identifiers
- “foreach{…}” วนซ้ำผ่านอาร์เรย์ตัวเลขและพิมพ์ค่า
สมมติว่าคุณบันทึกไฟล์ list_time_zones.php ไว้ในโฟลเดอร์ phptuts ให้เรียกดู URL http://localhost/phptuts/list_time_zones.php
PHP ตั้งค่าเขตเวลาโดยทางโปรแกรม
ฟังก์ชัน date_default_timezone_set ช่วยให้คุณสามารถตั้งค่าเขตเวลาเริ่มต้นจากสคริปต์ PHP
เขตเวลาที่ตั้งไว้จะถูกใช้ตามวันที่ในทั้งหมด สคริปต์ฟังก์ชัน PHP. มีรูปแบบประโยคดังนี้.
<?php date_default_timezone_set (string $timezone_identifier); ?>
ที่นี่
- “date_default_timezone_set()” เป็นฟังก์ชันที่กำหนดเขตเวลาเริ่มต้น
- “string $timezone_identifier” คือตัวระบุโซนเวลา
สคริปต์ด้านล่างแสดงเวลาตามโซนเวลาเริ่มต้นที่ตั้งไว้ใน php.ini
จากนั้นจะเปลี่ยนโซนเวลาเริ่มต้นเป็นเอเชีย/กัลกัตตา และแสดงเวลาอีกครั้ง
<?php echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); date_default_timezone_set("Asia/Calcutta"); echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); ?>
สมมติว่าคุณได้บันทึกไฟล์ set_time_zone.php ไว้ในโฟลเดอร์ phptuts แล้ว ให้เรียกดู URL http://localhost/phptuts/set_time_zone.php
ฟังก์ชั่น PHP Mktime
ฟังก์ชัน mktime ส่งคืนการประทับเวลาใน a ยูนิกซ์ จัดรูปแบบ
มีรูปแบบประโยคดังนี้
<?php mktime(hour, minute, second, month, day, year, is_dst); ?>
ที่นี่
- “mktime(…)” เป็นฟังก์ชันการประทับเวลาของ PHP
- “ชั่วโมง” เป็นทางเลือก โดยเป็นจำนวนชั่วโมง
- “นาที” เป็นทางเลือก ซึ่งเป็นจำนวนนาที
- “วินาที” เป็นทางเลือก โดยเป็นจำนวนวินาที
- “เดือน” เป็นทางเลือก โดยเป็นตัวเลขของเดือน
- “วัน” เป็นทางเลือก โดยเป็นตัวเลขของวัน
- “ปี” เป็นทางเลือก โดยเป็นตัวเลขของปี
- “is_dst” เป็นทางเลือก โดยใช้เพื่อกำหนดเวลาออมวัน (DST) 1 คือสำหรับ DST, 0 หากไม่ใช่ และ -1 หากไม่ทราบ
ตอนนี้เรามาดูตัวอย่างที่สร้างการประทับเวลาสำหรับวันที่ 13/10/2025 โดยใช้ฟังก์ชัน mktime
<?php echo mktime(0,0,0,10,13,2025); ?>
ที่นี่
- “0,0,0” คือชั่วโมง นาที และวินาทีตามลำดับ
- “13” คือวันของเดือน
- “10” คือเดือนของปี
- “2025” เป็นปี
Output:
1760328000
การอ้างอิงฟังก์ชันวันที่ของ PHP
ตารางด้านล่างแสดงพารามิเตอร์ทั่วไปที่ใช้เมื่อทำงานกับฟังก์ชันวันที่ของ PHP
พารามิเตอร์เวลา PHP
พารามิเตอร์ | Descriptไอออน | ตัวอย่าง |
---|---|---|
"R" | ส่งกลับวันที่และเวลาแบบเต็ม |
<?php echo date("r"); ?> |
“ก””ก” | ส่งคืนว่าเวลาปัจจุบันคือ am หรือ pm, AM หรือ PM ตามลำดับ |
<?php echo date("a"); echo date("A"); ?> |
“ก”,”ก” | ส่งกลับชั่วโมงโดยไม่มีศูนย์นำหน้า [1 ถึง 12], [0 ถึง 23] ตามลำดับ |
<?php echo date("g"); echo date("G"); ?> |
“ฮ”,”ฮ” | ส่งกลับชั่วโมงโดยมีศูนย์นำหน้า [01 ถึง 12],[00 ถึง 23] ตามลำดับ |
<?php echo date("h"); echo date("H"); ?> |
"เป็น" | ส่งกลับนาที/วินาทีโดยมีศูนย์นำหน้า [00 ถึง 59] |
<?php echo date("i"); echo date("s"); ?> |
พารามิเตอร์วัน
พารามิเตอร์ | Descriptไอออน | ตัวอย่าง |
---|---|---|
“ ง” | ส่งกลับวันของเดือนโดยมีศูนย์นำหน้า [01 ถึง 31] |
<?php echo date("d"); ?> |
“เจ” | ส่งกลับวันของเดือนโดยไม่มีศูนย์นำหน้า [1 ถึง 31] |
<?php echo date("j"); ?> |
“ D” | ส่งกลับตัวอักษร 3 ตัวแรกของชื่อวัน [Sub to Sat] |
<?php echo date("D"); ?> |
"L" | ส่งกลับชื่อวันในสัปดาห์ [วันอาทิตย์ถึงวันเสาร์] |
<?php echo date("l"); ?> |
“ว” | ส่งกลับวันในสัปดาห์โดยไม่มีศูนย์นำหน้า [0 ถึง 6] วันอาทิตย์แสดงเป็นศูนย์ (0) จนถึงวันเสาร์แสดงด้วยหก (6) |
<?php echo date("w"); ?> |
“ซี” | ส่งกลับวันของปีโดยไม่ต้องเว้นวรรคนำ [0 ถึง 365] |
<?php echo date("z"); ?> |
พารามิเตอร์เดือน
พารามิเตอร์ | Descriptไอออน | ตัวอย่าง |
---|---|---|
“m” | ส่งกลับตัวเลขเดือนโดยมีศูนย์นำหน้า [01 ถึง 12] |
<?php echo date("m"); ?> |
“ n” | ส่งกลับตัวเลขเดือนโดยไม่มีศูนย์นำหน้า [01 ถึง 12] |
<?php echo date("n"); ?> |
"ม" | ส่งกลับตัวอักษร 3 ตัวแรกของชื่อเดือน [ม.ค. ถึง ธ.ค. ] |
<?php echo date("M"); ?> |
"F" | ส่งกลับชื่อเดือน [มกราคมถึงธันวาคม] |
<?php echo date("F"); ?> |
“ t” | ส่งกลับจำนวนวันในหนึ่งเดือน [28 ถึง 31] |
<?php echo date("t"); ?> |
พารามิเตอร์ปี
พารามิเตอร์ | Descriptไอออน | ตัวอย่าง |
---|---|---|
"L" | ส่งกลับ 1 ถ้าเป็นปีอธิกสุรทิน และ 0 ถ้าไม่ใช่ปีอธิกสุรทิน |
<?php echo date("L"); ?> |
"Y" | ส่งกลับรูปแบบปีสี่หลัก |
<?php echo date("Y"); ?> |
"Y" | ส่งกลับรูปแบบปีสอง (2) หลัก (00 ถึง 99) |
<?php echo date("y"); ?> |
สรุป
- ฟังก์ชันวันที่ใน PHP ใช้เพื่อจัดรูปแบบการประทับเวลาให้เป็นรูปแบบที่มนุษย์ต้องการ
- การประทับเวลาคือจำนวนวินาทีระหว่างเวลาปัจจุบันถึง 1st มกราคม 1970 00:00:00 GMT เรียกอีกอย่างว่าการประทับเวลา UNIX
- ฟังก์ชัน PHP date() ทั้งหมดใช้เขตเวลาเริ่มต้นที่ตั้งไว้ในไฟล์ php.ini
- เขตเวลาเริ่มต้นสามารถตั้งค่าโดยทางโปรแกรมโดยใช้สคริปต์ PHP