Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การแปลง Timestamp จาก SQL Database เป็น String ใน PHP

การแปลง Timestamp (Milliseconds) เป็น Date String ใน PHP

Timestamp จากฐานข้อมูลมักเป็น Milliseconds ตั้งแต่ Epoch (1970-01-01) ต้องแปลงเป็นวินาทีก่อนจึงจะใช้กับ DateTime ของ PHP ได้

ขั้นตอน

  1. หาร 1000 เพื่อแปลง Milliseconds → Seconds
  2. ใช้ DateTime::setTimestamp()
  3. จัดรูปแบบด้วย format()

โค้ด PHP

<?php
$SQLTimestamp = 1600320600000; // Milliseconds

// แปลงเป็นวินาที
$seconds = round($SQLTimestamp / 1000, 0);

// สร้าง DateTime และตั้ง timestamp
$PHPDateObject = new DateTime();
$PHPDateObject->setTimestamp($seconds);

// แสดงผลในรูปแบบ Y-m-d H:i:s
echo $PHPDateObject->format('Y-m-d H:i:s');
?>

ผลลัพธ์

2020-09-17 05:30:00

หมายเหตุ: PHP DateTime ใช้ Timezone เริ่มต้นของ Server หากต้องการ Timezone เฉพาะ ใช้ new DateTime('@' . $seconds, new DateTimeZone('Asia/Bangkok')) (PHP 7.1+)