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

เพิ่ม 30 นาทีให้กับ DATETIME ใน MySQL ด้วย DATE_ADD


ไวยากรณ์เพิ่มนาที

ใช้ DATE_ADD() กำหนดหน่วยเป็น MINUTE:

SELECT DATE_ADD(datetime_column, INTERVAL 30 MINUTE) FROM your_table;

ตัวอย่างการใช้งาน

สร้างตารางและเพิ่มเวลาปัจจุบัน

CREATE TABLE Add30MinutesDemo (YourTime DATETIME);
INSERT INTO Add30MinutesDemo VALUES (NOW());

ข้อมูลต้นฉบับ (สมมติ NOW = 2018-12-07 18:03:51)

+---------------------+
| YourTime            |
+---------------------+
| 2018-12-07 18:03:51 |
+---------------------+

คำสั่งเพิ่ม 30 นาที

SELECT DATE_ADD(YourTime, INTERVAL 30 MINUTE) AS added_30_min
FROM Add30MinutesDemo;

ผลลัพธ์

+---------------------+
| added_30_min        |
+---------------------+
| 2018-12-07 18:33:51 |
+---------------------+

หน่วยเวลาอื่นๆ ที่ใช้บ่อย

INTERVAL 15 MINUTE    -- 15 นาที
INTERVAL 1 HOUR       -- 1 ชั่วโมง
INTERVAL 90 MINUTE    -- 1.5 ชั่วโมง (ใช้ MINUTE ก็ได้)
INTERVAL 1 DAY        -- 1 วัน
INTERVAL 1 WEEK       -- 1 สัปดาห์
INTERVAL 1 MONTH      -- 1 เดือน

ลบเวลา (ย้อนหลัง)

DATE_ADD(YourTime, INTERVAL -30 MINUTE)  -- ลบ 30 นาที
DATE_SUB(YourTime, INTERVAL 30 MINUTE)   -- ทางเลือกอื่น

ใช้ใน UPDATE

UPDATE appointments
SET appointment_time = DATE_ADD(appointment_time, INTERVAL 30 MINUTE)
WHERE id = 123;

PHP: strtotime()

หากทำใน PHP แนะนำใช้ strtotime():

$newTime = date('Y-m-d H:i:s', strtotime('+30 minutes', strtotime($originalTime)));
// หรือ
$newTime = date('Y-m-d H:i:s', strtotime($originalTime . ' +30 minutes'));