ฟังก์ชั่น PHP Date () & Time: วิธีรับการประทับเวลาปัจจุบัน
⚡ สรุปอย่างชาญฉลาด
ฟังก์ชัน `date()` ใน PHP จะจัดรูปแบบไทม์สแตมป์ให้เป็นวันที่และเวลาที่อ่านง่าย บทความนี้จะอธิบายไวยากรณ์ของวันที่ ไทม์สแตมป์แบบ Unix วิธีการแสดงรายการและตั้งค่าเขตเวลา ฟังก์ชัน `mktime` สำหรับสร้างไทม์สแตมป์ และข้อมูลอ้างอิงฉบับสมบูรณ์ของอักขระรูปแบบเวลา วัน เดือน และปี

วันที่ PHP () ฟังก์ชัน
ฟังก์ชัน `date` ใน PHP เป็นฟังก์ชันในตัวที่ช่วยให้การทำงานกับข้อมูลประเภทวันที่ง่ายขึ้น ฟังก์ชัน `date` ใน PHP ใช้สำหรับจัดรูปแบบวันที่หรือเวลาให้อยู่ในรูปแบบที่อ่านง่าย สามารถใช้เพื่อแสดงวันที่เผยแพร่บทความ หรือบันทึกเวลาที่ข้อมูลในฐานข้อมูลได้รับการอัปเดตครั้งล่าสุด
ไวยากรณ์วันที่ PHP และตัวอย่าง
ฟังก์ชัน `date()` ของ PHP มีไวยากรณ์พื้นฐานดังต่อไปนี้
<?php date(format,[timestamp]); ?>
ที่นี่
- “date(…)” คือฟังก์ชันที่ส่งคืนค่าเวลาปัจจุบันที่จัดรูปแบบแล้ว PHP บนเซิร์ฟเวอร์
- "รูปแบบ" คือรูปแบบทั่วไปที่เราต้องการให้ผลลัพธ์ออกมาเป็นแบบนั้น ตัวอย่างเช่น:
- “Ymd” คือรูปแบบวันที่ของ PHP ซึ่งก็คือ YYYY-MM-DD
- “Y” เพื่อแสดงปีปัจจุบัน
- “[timestamp]” เป็นตัวเลือกเสริม หากไม่ได้ระบุ timestamp ไว้ PHP จะใช้ข้อมูลวันที่และเวลาปัจจุบันบนเซิร์ฟเวอร์
เรามาดูตัวอย่างพื้นฐานที่แสดงปีปัจจุบันกัน
<?php echo date("Y"); ?>
Output:
2026
การประทับเวลาคืออะไร?
ใน PHP ค่าไทม์สแตมป์คือค่าตัวเลขในหน่วยวินาทีระหว่างเวลาปัจจุบันกับค่าที่ 1st มกราคม 1970 00:00:00 ตามเวลามาตรฐานกรีนวิช (GMT)
ค่าที่ส่งคืนโดยฟังก์ชันเวลาที่ขึ้นอยู่กับเขตเวลาเริ่มต้น
เขตเวลาเริ่มต้นจะถูกตั้งค่าไว้ในไฟล์ php.ini นอกจากนี้ยังสามารถตั้งค่าได้โดยใช้ฟังก์ชัน date_default_timezone_set
โค้ดด้านล่างแสดงเวลาปัจจุบัน
<?php
echo time();
?>
สมมติว่าคุณได้บันทึกไฟล์ timestamp.php ไว้ในโฟลเดอร์ phptuts แล้ว ให้เข้าไปที่โฟลเดอร์นั้น URL http://localhost/phptuts/timestamp.php
หมายเหตุ: ค่าของ timestamp ไม่ใช่ค่าคงที่ มันเปลี่ยนแปลงทุกวินาที
รับรายการตัวระบุโซนเวลาที่มีอยู่
ก่อนที่เราจะไปดูวิธีการตั้งค่าเขตเวลาเริ่มต้นด้วยโปรแกรม เรามาดูวิธีการรับรายการเขตเวลาที่รองรับกันก่อน
<?php $timezone_identifiers = DateTimeZone::listIdentifiers(); foreach($timezone_identifiers as $key => $list){ echo $list . "<br/>"; } ?>
ที่นี่
- “$timezone_identifiers = DateTimeZone::listIdentifiers();” เรียกใช้เมธอด static listIdentifiers ของคลาส DateTimeZone เมธอด 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 จากนั้นจะเปลี่ยนเขตเวลาเริ่มต้นเป็น Asia/Calcutta และแสดงเวลาอีกครั้ง
<?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” เป็นพารามิเตอร์เสริม ใช้สำหรับตรวจสอบว่ามีการปรับเวลาตามฤดูกาล (Daylight Saving Time หรือ DST) หรือไม่ โดยค่า 1 หมายถึงมี DST ค่า 0 หมายถึงไม่มี DST และค่า -1 หมายถึงไม่ทราบข้อมูล
ต่อไปนี้เราจะมาดูตัวอย่างการสร้างไทม์สแตมป์สำหรับวันที่ 13/10/2025 โดยใช้ฟังก์ชัน mktime กัน
<?php
echo mktime(0,0,0,10,13,2025);
?>
ที่นี่
- “0,0,0” คือ ชั่วโมง นาที และวินาที ตามลำดับ
- “10” คือเดือนของปี
- “13” คือวันของเดือน
- “2025” เป็นปี
Output:
1760328000
เอกสารอ้างอิงรูปแบบวันที่ 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 ตัวแรกของชื่อวัน [อาทิตย์ถึงเสาร์] |
<?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” | ส่งกลับตัวเลขเดือนโดยไม่มีศูนย์นำหน้า [1 ถึง 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" | ส่งคืนปีในรูปแบบตัวเลขสองหลัก (00 ถึง 99) |
<?php echo date("y"); ?> |



