toggle-offDate 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 ได้ เช่น

ตารางแสดงการเปรียบเทียบ

คุณสมบัติ
PHP
JAVA
C
Python

การนำเข้า

-

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

file-download
1MB

Video

Reference

MarcusCode. (2020). Date and time in PHP. MarcusCode. https://marcuscode.com/lang/php/date-and-timearrow-up-right

  • การแสดงวันที่และเวลาปัจจุบัน

  • การจัดรูปแบบการแสดงผลเวลา

  • Timestamp

Ninenik. (2022). การจัดการวันที่และเวลาโดยใช้ DateTime ใน PHP. Ninenik. https://www.ninenik.com/การจัดการวันที่และเวลาโดยใช้_DateTime_ใน_php-1072.htmlarrow-up-right

  • การใช้ DateInterval()

  • การสร้าง DateTime Object

W3Schools. (n.d.). W3Schools online web tutorials. W3Schools. https://www.w3schools.comarrow-up-right

  • ใช้เปรียบเทียบDateTimeระหว่างภาษา

Last updated