Web Development

PHP: Date Time

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

03 มกราคม 20231 นาที
0
PHP: Date Time
Table of Contents

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

Function ที่ใช้บ่อย

strtotime

strtotime จะใช้แปลงวันที่ให้เป็น timestamp ซึ่งเราสามารถใช้กับฟังก์ชัน date ได้เลย

PHP Logo
<?php echo strtotime('today'); // จะแสดงวันที่ปัจจุบัน อยู่รูปแบบ Unix Timestamp echo strtotime('now'); // จะแสดงเวลาและวันที่ปัจจุบัน อยู่รูปแบบ Unix Timestamp ?>

ความแตกต่างระหว่าง today กับ now คือ today จะเป็นเวลา 00:00:00 ของวันนั้น ส่วน now จะเป็นเวลาปัจจุบัน

เราสามารถใช้ strtotime กับวันที่ที่เราต้องการได้เลย

PHP Logo
<?php echo strtotime('2021-09-26'); // 1632643200 echo strtotime('7 days ago'); // 1632643200 echo strtotime('1 month ago'); // 1632643200 ?>

format

เมื่อได้ timestamp มาแล้ว เราสามารถมาแปลงให้อยู่ในรูปแบบอื่นๆ ที่เราต้องการได้

PHP Logo
// 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 Logo
<?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 ที่ใช้เพิ่มเติมได้ที่

Tags:PHP

คลิกเพื่อแสดงความคิดเห็น