ฟังก์ชั่น 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



