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

วิธีแปลงวันที่ 1 มกราคมของปีปัจจุบันเป็น Epoch Time ใน MySQL


สามารถทำได้โดยใช้ฟังก์ชัน UNIX_TIMESTAMP() ร่วมกับ CONCAT() และ YEAR(CURDATE()) ดังนี้:

mysql> Select UNIX_TIMESTAMP(CONCAT(YEAR(CURDATE()),'-01-01'));
+--------------------------------------------------+
| UNIX_TIMESTAMP(CONCAT(YEAR(CURDATE()),'-01-01')) |
+--------------------------------------------------+
| 1483209000                                       |
+--------------------------------------------------+
1 row in set (0.03 sec)

การตรวจสอบผลลัพธ์

สามารถตรวจสอบได้โดยใช้ FROM_UNIXTIME() เพื่อแปลงกลับเป็นวันที่:

mysql> Select FROM_UNIXTIME(1483209000);
+---------------------------+
| FROM_UNIXTIME(1483209000) |
+---------------------------+
| 2017-01-01 00:00:00       |
+---------------------------+
1 row in set (0.02 sec)

คำอธิบาย: YEAR(CURDATE()) ดึงปีปัจจุบัน CONCAT(...,'-01-01') สร้างสตริงวันที่ 1 มกราคม และ UNIX_TIMESTAMP() แปลงเป็น Unix timestamp (วินาทีตั้งแต่ 1970-01-01)