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

TimeStamp

หมายเหตุ: ค่าของการประทับเวลา 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 ตั้งค่าเขตเวลาโดยทางโปรแกรม

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