Date and Time
จิราพัทร ปิ่นทอง 640710135
การจัดการวันที่และเวลาของภาษาPHP สามารถใช้ function date() และ class DateTime()
function Date()
date() เป็นฟังก์ชันหนึ่งของภาษา PHP ใช้แสดงวันที่และเวลาปัจจุบันได้โดยผลลัพธ์ที่ออกมาจะส่งค่าทั้งหมดกลับมาเป็นString โดยกำหนดค่าด้วยพารามิเตอร์
รูปแบบคำสั่ง
date(format,timestamp)
format = คือรูปแบบวันที่ เช่น วัน/เดือน/ปี ให้ใส่ d/m/y หรือ Y-m-d timestamp = คือการแสดงเวลาปัจจุบัน เช่น date(“H:i:s”);
//ตัวอย่าง การใช้คำสั่ง date() เพื่อแสดงวันที่ปัจจุบัน
<?php
$date = date(“Y-m-d”);
echo $date;
?>
#Y – การกำหนดรูปแบบของปี
#m – การกำหนดรูปแบบของเดือน
#d – การกำหนดวันของเดือนคำสั่ง date() สามารถสลับตำแหน่งของวันเดือนปีได้
DateInterval()
เป็นคลาสที่ใช้เพื่อสร้างหรือปรับเปลี่ยนวันที่และเวลาตามช่วงเวลาที่กำหนดหรือการคำนวณวันที่และเวลาโดยวิธีเพิ่มและลบใช้คู๋กับคลาส DateTime()
ใช้คำสั่ง add() ในกรณีที่เราต้องการเพิ่มระยะเวลาที่กำหนด เช่น วันที่19 เป็น วันที่20
ใช้คำสั่ง sub() ในกรณีที่เราต้องการลบระยะเวลาท่กำหนด เช่น วันที่20 เป็น วันที่19
การใช้งาน DateInterval() ในการกำหนดรูปแบบตัวอักษร
จะเริ่มต้นด้วยตัว P หมายถึง ระยะเวลา (Period) จะเป็นพิมพ์ใหญ่เสมอ กรณีมีเวลาด้วย จะมีตัว T เพิ่มเข้ามาเพื่อคั่นวันที่กับเวลา โดยมีรูปแบบย่อ ดังนี้
ตัวอย่างเช่น 1 ปี 3 เดือน 2 วัน 30 นาที ก็จะได้เป็น "P1Y3M2DT30M"
DateTime()
เป็นคลาสที่ช่วยในการจัดการวันที่และเวลา สามารถสร้าง, ปรับเปลี่ยน, และแสดงวันที่และเวลาได้อย่างหลากหลายและรองรับการปรับเปลี่ยน (add/sub), การจัดการเขตเวลา, และการทำงานร่วมกับ DateInterval
การสร้าง DateTime Object
สามารถสร้างได้จากคลาสDateTime คลาสนี้จะส่งค่ากลับเป็นObjectของเวลาปัจจุบันที่เราสามารถใช้สำหรับเรียกดูข้อมูลต่างๆ เกี่ยวกับเวลาได้ ค่าสามารถเปลี่ยนแปลงได้ ทำให้หลังเปลี่ยนแปลงค่า $date เท่ากับ $tomorrow
สามารถใช้คู่กับ method setTimezone() เพื่อกำหนดขอบเขตเวลา
เราสามารถใช้ method format() สำหรับกำหนดการแสดงผลโดยสามารถใช้งานร่วมกับคอนสแตนต์ เช่น RFC1123เป็นค่าคงที่สำหรับการกำหนดรูปแบบของเวลา สำหรับการสร้างออบเจ็คของเวลาปัจจุบันเราจะต้องส่ง "now"เป็นพารามิเตอร์แรกของคลาส
Timezone
การกำหนดตั้งค่า Timezone จะใช้ date_default_timezone_set()
ใช้DateTime() คู่กับ DateTimeZone() เพื่อกำหนดเขตเวลา
หรือใช้ setTimeZone() เพื่อเปลี่ยนเขตเวลา
Timestamp
Unix timestamp เป็นเวลาที่มีหน่วยเป็นวินาทีที่เริ่มนับจาก Unix Epoch (January 1 1970 00:00:00 GMT) เราสามารถรับเอาเวลา Timestamp ปัจจุบันจากระบบได้ด้วยฟังก์ชัน time() ซึ่งฟังก์ชันนี้ส่งค่ากลับเป็นเวลา Timestamp ที่มีหน่วยเป็นวินาที
เราสามารถสร้างออบเจ็คของวันที่จากค่า Timestamp ได้ เช่น
ตารางแสดงการเปรียบเทียบ
การนำเข้า
-
java.time
<time.h>
from datetime import datetime
เขตเวลา
DateTimeZone
ZonedDateTime
-
pytz
การสร้างวันที่
new DateTime()
LocalDateTime.now()
time(NULL)
datetime.now()
จัดรูปแบบ
format()
.format(formatter);
strftime()
strftime()
การเพิ่มวัน
add()
LocalDateTime
-
timedelta()
Slide
Video
Reference
MarcusCode. (2020). Date and time in PHP. MarcusCode. https://marcuscode.com/lang/php/date-and-time
การแสดงวันที่และเวลาปัจจุบัน
การจัดรูปแบบการแสดงผลเวลา
Timestamp
Ninenik. (2022). การจัดการวันที่และเวลาโดยใช้ DateTime ใน PHP. Ninenik. https://www.ninenik.com/การจัดการวันที่และเวลาโดยใช้_DateTime_ใน_php-1072.html
การใช้ DateInterval()
การสร้าง DateTime Object
W3Schools. (n.d.). W3Schools online web tutorials. W3Schools. https://www.w3schools.com
ใช้เปรียบเทียบDateTimeระหว่างภาษา
Last updated