x86 DateTime class

x86 datetime

 

PHP DateTime ถูกเพิ่มเข้ามาทั้งในความสามารถเรื่องภาษา และขอบเขตของวันที่ จากเดิมจะได้ไม่เก่ากว่าปี 1970 ก็ขยายไปเป็น 1901 สำหรับ PHP แบบ 32 bit ส่วนผู้ใช้ PHP 64 bit นั้นจะไม่มีปัญหาต่างๆเหล่านี้เลย

x86DateTime จึงถูกสร้างขึ้นมาเพื่อแก้ไขข้อจำกัดเหล่านี้บน PHP 32 bit ครับ

การนำไปใช้

ให้ทำการแตกไฟล์ออกจาก 7zip ไปไว้บน server หรือใน folder ที่ต้องการบน localhost
include ไฟล์ x86DateTime.php และใช้ method ต่างๆได้เหมือนเดิมกับใน PHP DateTime ทุกประการ

ตัวอย่าง


include_once __DIR__ . '/x86DateTime.php';

// after max date
$date_time = '2045-01-01 07:00:00';
$date = new x86DateTime($date_time);

// display timestamp from selected date time.
echo 'timestamp (format(\'U\');): ' . $date->format('U') . '<br>'; // ควรได้ 2366841600
echo 'timestamp (getTimestamp();): ' . $date->getTimestamp() . '<br>'; // ควรได้ 2366841600

// display date time from timestamp.
$timestamp = $date->getTimestamp();
$date->setTimestamp($timestamp);
echo 'date-time: ' . $date->format('Y-m-d H:i:s') . '<br>';

unset($date, $date_time, $timestamp);

echo '<hr>';


// before min date
$date_time = '1450-01-01 07:00:00';
$date = new x86DateTime($date_time);

// display timestamp from selected date time.
echo 'timestamp (format(\'U\');): ' . $date->format('U') . '<br>'; // ควรได้ -16409605324
echo 'timestamp (getTimestamp();): ' . $date->getTimestamp() . '<br>'; // ควรได้ -16409605324

// display date time from timestamp.
$timestamp = $date->getTimestamp();
$date->setTimestamp($timestamp);
echo 'date-time: ' . $date->format('Y-m-d H:i:s') . '<br>';

unset($date, $date_time, $timestamp);