การใช้ DateTime object
- kamthorn's blog
- 8 comments
- Read more
- 2466 reads
คุณ roteee เคยถามว่า PHP 4 กับ 5 มีอะไรต่างกัน อย่างหนึ่งที่ต่างคือ PHP 5 ตั้งแต่ 5.1 เป็นต้นมา มี DateTime object ครับ ซึ่งใช้งานได้สะดวกกว่าการอ้างอิง unix timestamp เยอะครับ แต่ยังติดอะไรบางอย่างเล็กน้อย ไว้กล่าวตอนท้าย
ถ้าไม่ระบุค่า string จะได้ค่าวันที่และเวลาปัจจุบัน
สมมติ $d คือเวลาเป็น unix timestamp ได้จากฐานข้อมูล ถ้าจะตั้งเวลาให้กับ DateTime ก็ทำได้โดย
การสร้าง DateTime object
$dt = new DateTime("2008-08-01 18:10");
สามารถสร้างโดยกำหนด string ของ datetime ตอน construct มันได้เลย ซึ่งมันจะใช้ timezone แบบเดียวกับค่าปริยายของเซิร์ฟเวอร์ เช่น ถ้าเซิร์ฟเวอร์ตั้งอยู่ประเทศไทย ก็จะใช้ timezone เป็น ICT หรือ GMT+0700 หรือถ้าต้องการระบุ timezone เป็นที่อื่น ก็สั่งแบบนี้
$dt1 = new DateTime("2008-08-01 18:10 UTC"); $dt2 = new DateTime("2008-08-05 13:00+09:00");
$dt3 = new DateTime(strftime("%D %T",$d));