Web Development
PHP: Date Time
ในบทความนี้จะมารู้จักและใช้งาน Date Time ใน PHP กัน โดยผมอาจจะไม่ได้อธิบายทั้งหมด แต่จะยกมาเฉพาะที่ใช้กันบ่อยๆ ก่อนละกัน

ในบทความนี้จะมารู้จักและใช้งาน Date Time ใน PHP กัน โดยผมอาจจะไม่ได้อธิบายทั้งหมด แต่จะยกมาเฉพาะที่ใช้กันบ่อยๆ ก่อนละกัน
Function ที่ใช้บ่อย
strtotime
strtotime จะใช้แปลงวันที่ให้เป็น timestamp ซึ่งเราสามารถใช้กับฟังก์ชัน date ได้เลย

<?php
echo strtotime('today'); // จะแสดงวันที่ปัจจุบัน อยู่รูปแบบ Unix Timestamp
echo strtotime('now'); // จะแสดงเวลาและวันที่ปัจจุบัน อยู่รูปแบบ Unix Timestamp
?>
ความแตกต่างระหว่าง today กับ now คือ today จะเป็นเวลา 00:00:00 ของวันนั้น ส่วน now จะเป็นเวลาปัจจุบัน
เราสามารถใช้ strtotime กับวันที่ที่เราต้องการได้เลย

<?php
echo strtotime('2021-09-26'); // 1632643200
echo strtotime('7 days ago'); // 1632643200
echo strtotime('1 month ago'); // 1632643200
?>
format
เมื่อได้ timestamp มาแล้ว เราสามารถมาแปลงให้อยู่ในรูปแบบอื่นๆ ที่เราต้องการได้

// format date in php
<?php
echo date('Y-m-d', strtotime('today'));
echo date('Y-m-d H:i:s', strtotime('now'));
?>
เรื่องเวลาและวันที่ใน PHP นั้นมีอีกหลายฟังก์ชันอีกมากมาย แต่ผมจะไม่ได้อธิบายทั้งหมด แต่ถ้าคุณต้องการเรียนรู้เพิ่มเติม สามารถอ่านเพิ่มเติมได้ที่ PHP Manual
ลองทำโปรแกรมคำนวณอายุ
หลังจากที่ได้รู้จัก Date Time ใน PHP กันละ มาลองทำโปรแกรมคำนวณอายุง่ายๆ กันหน่อย ซึ่งมีหลากหลายวิธีมาก แต่ผมจะใช้ build-in function ของ PHP สองตัว นั่นก็คือ date_diff
และ date_create

<?php
$birthday = '1991-09-26';
$today = date('Y-m-d');
$diff = date_diff(date_create($birthday), date_create($today));
echo $diff->format('%y years, %m months and %d days');
?>
อธิบายโค้ดกันหน่อย
- กำหนดวันเกิดของเราเป็นตัวแปร
$birthday
- กำหนดวันที่ปัจจุบันเป็นตัวแปร
$today
- ใช้ฟังก์ชัน
date_diff
ในการคำนวณวันที่ โดยใช้date_create
ในการสร้างวันที่ - และใช้ฟังก์ชัน format ในการแสดงผลออกมา
อ่านเรื่อง function ที่ใช้เพิ่มเติมได้ที่
คลิกเพื่อแสดงความคิดเห็น