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

วิธีแปลง Timestamp เป็น Datetime ใน MySQL

ใช้ฟังก์ชัน FROM_UNIXTIME() แปลง Unix Timestamp (วินาทีนับจาก 1970-01-01) เป็น DATETIME

สร้างตารางเก็บ Timestamp

mysql> CREATE TABLE TimestamptoDateDemo (
    -> YourTimeStamp INT(11)
    -> );

mysql> INSERT INTO TimestamptoDateDemo VALUES (1389453221);

แปลงเป็น Timestamp (DATETIME)

mysql> SELECT FROM_UNIXTIME(YourTimeStamp) FROM TimestamptoDateDemo;
+------------------------------+
| FROM_UNIXTIME(YourTimeStamp) |
+------------------------------+
| 2018-09-11 20:43:41          |
+------------------------------+

แปลงเป็น Format ที่กำหนดเอง

mysql> SELECT FROM_UNIXTIME(YourTimeStamp, '%Y %D %M %h:%i:%s') 
    -> FROM TimestamptoDateDemo;
+---------------------------------------------------+
| FROM_UNIXTIME(YourTimeStamp, '%Y %D %M %h:%i:%s') |
+---------------------------------------------------+
| 2018 11th September 08:43:41                        |
+---------------------------------------------------+

Format Specifiers

Codeความหมาย
%Yปี 4 หลัก
%Dวันพร้อม Suffix (1st, 2nd, 3rd...)
%Mชื่อเดือนเต็ม
%hชั่วโมง 12h (01-12)
%iนาที
%sวินาที
หมายเหตุ: FROM_UNIXTIME() คืนค่าใน Time Zone ของ Session (ดูจาก @@session.time_zone)