如何从MySQL中的日期时间减去3小时?

使用以下任何一种方法,从MySQL中的DateTime减去3个小时。第一种方法如下-

情况1-使用DATE_ADD()

select date_add(yourColumnName,interval -3 hours) from yourTableName;

情况2-使用DATE_SUB()

select date_sub(yourColumnName,interval 3 hours) from yourTableName;

首先,用于now()获取当前日期时间-

mysql> select now();

以下是输出-

+---------------------+
| now()               |
+---------------------+
| 2018-11-30 10:13:23 |
+---------------------+
1 row in set (0.00 sec)

DATE_ADD

从DateTime中减去3小时的查询如下。使用date_add,我们设置了一个负日期-

mysql> select date_add(now(),interval -3 hour);

以下是输出-

+----------------------------------+
| date_add(now(),interval -3 hour) |
+----------------------------------+
| 2018-11-30 07:13:28              |
+----------------------------------+
1 row in set (0.00 sec)

DATE_SUB

获取当前日期和时间-

mysql> select now();

输出-

+---------------------+
| now()               |
+---------------------+
| 2018-11-30 10:14:12 |
+---------------------+
1 row in set (0.00 sec)

使用date_sub()实现第二种方法。查询如下-

mysql> select date_sub(now(),interval 3 hour);

以下输出显示日期减去3小时-

+---------------------------------+
| date_sub(now(),interval 3 hour) |
+---------------------------------+
| 2018-11-30 07:14:25             |
+---------------------------------+
1 row in set (0.00 sec)