ฟังก์ชั่นเกี่ยวกับวันเวลา DATE & TIME ทีน่าสนใจในภาษา PHP

ข้อมูลเกี่ยวกับวันเวลา (DATE & TIME) นี้.

เป็นข้อมูลที่สำคัญและน่าสนใจในการพัฒนาเว็ปไซต์ด้วย PHP ซึ่งเป็นอีกหนึ่งหัวใจสำคัญของการเขียนโปรแกรม การเขียนสคริปต์ต่างๆ โดยมีการทำงานหลากหลายรูปแบบที่ต้องอาศัยฟังก์ชั่นเกี่ยวกับวันเวลา เช่น ทำบันทึกการเข้า-ออกเวลาทำงาน , การบันทึกวันหยุดต่างๆ เป็นต้น

time() เป็นฟังก์ชั่นที่ใช้ในการอ่านค่าวันเวลา ณ ปัจจุบัน ค่าที่ได้จากฟังก์ชั่นที่จะอยู่ในรูปแบบ timestamp ซึ่งส่วนมากผู้ใช้งานจะนำไปพัฒนาต่อยอดใช้กับฟังก์ชั่นอื่นๆต่อไป

strtotime() เป็นฟังก์ชั่นที่ใช้แปลงค่าจากสตริงให้เป็นข้อมูลวันเวลาในรูปแบบ timestamp ซึ่งรูปแบบสตริงนั้นต้องเขียนในรูปแบบที่ทำให้แปลงค่าได้ นั่นคือต้องเขียนแบบ Month/Date/Year ซึ่งถ้าแปลงไม่ได้ ตัวโปรแกรมจะส่งค่า false กลับมา เช่น

$timestamp = strtotime(“12/31/2010”);

$timestamp = strtotime(“31 December 2010”); //OK ทั้งสองค่านี้คือเป็น true อ่านค่าออกมาได้

ฟังก์ชั่นในการอ่น และตรวจสอบวันเวลา

getdate([timestamp]) เป็นการอ่านค่าบางส่วนของวันเวลา ตามแต่เราจะกำหนดว่าจะอ่านค่าใด โดยอ้างอิงจากค่า timestamp ซึ่งถ้าไม่กำหนด จะอ่านค่าวันเวลา ณ ปัจจุบันเป็น default แต่หากมีการกำหนด อาจใช้ค่าจากฟังก์ชั่น strtotime() ได้เช่นกัน ซึ่งการใช้ฟังก์ชั่นนี้ จะส่งค่าคืนมาเป็น อาร์เรย์แบบ Key/Value ซึ่งค่า Key ในการอ่านข้อมูลจะมีดังนี้

Key => seconds คือ “วินาที” มีค่าตั้งแต่ 0-59

Key => minutes คือ “นาที” มีค่าตั้งแต่ 0-59

Key => hours คือ “ชั่วโมง” มีค่าตั้งแต่ 0-23

Key => mday คือ “วันที่” มีค่าตั้งแต่ 1-31

Key => wday คือ “ลำดับของวันในรอบสัปดาห์” มีค่าตั้งแต่ 0-6 (อาทิตย์-เสาร์)

Key => mon คือ “ลำดับของเดือนในรอบปี” มีค่าตั้งแต่ 1-12

Key => year คือ “ปี” เป็นเลขสี่หลักเช่น 2020

 

Key => yday คือ “ลำดับของวันในรอบปี” มีค่าตั้งแต่ 0-365

Key => weekday คือ “ชื่อวัน” มีค่าตั้งแต่ Sunday-Saturday

Key => month คือ “ชื่อเดือน” มีค่าตั้งแต่ January-December

ตัวอย่าง

$d = getdate();

echo $d[‘mday’].”-“.$d[‘month’].”-“.$d[‘year’];

//ผลลัพธ์คือ 15-January-2020

ฟังก์ชั่นในการกำหนดรูปแบบวันเวลา

วันเวลาสามารถกำหนดได้หลายรูปแบบดังนี้

date(รูปแบบวันเวลา[,timestamp]) โดยต้องระบุวันเวลาที่ต้องการใน timestamp หรือถ้าไม่กำหนด จะนับเวลาปัจจุบันแทน

อักขระใช้แทน “วัน” และ “สัปดาห์”

d – แทนวันที่ของเดือน เป็นเลข 2 หลัก เช่น 01,03,15

j – แทนวันที่ของเดือนแบบไม่มี 0 นำหน้า เช่น 1,3,15

D – แทนวันในแต่ละสัปดาห์แบบย่อ เช่น Sun, Mon, Tue

l – ตัว L พิมพ์เล็ก ใช้แทนวันในรอบสัปดาห์แบบชื่อเต็ม Sunday, Monday…