mysql 获得当前时间和日期函数

1.1 获得当前日期+时间(date + time)函数:now()

 

 mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2009-09-01 15:22:09 |
+---------------------+
1 row in set (0.01 sec)

 

 

sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。如下:

 

mysql> select now(), sleep(3), now();
+---------------------+----------+---------------------+
| now()               | sleep(3) | now()               |
+---------------------+----------+---------------------+
| 2009-09-01 15:39:53 |        0 | 2009-09-01 15:39:53 |
+---------------------+----------+---------------------+
1 row in set (3.05 sec)

 

 

mysql> select sysdate(), sleep(3), sysdate();
+---------------------+----------+---------------------+
| sysdate()           | sleep(3) | sysdate()           |
+---------------------+----------+---------------------+
| 2009-09-01 15:41:10 |        0 | 2009-09-01 15:41:13 |
+---------------------+----------+---------------------+
1 row in set (3.00 sec)

 

 

 中间 sleep 2秒,但是 curtime 值相同。

 

4. 获得当前 UTC 日期时间函数:utc_date(), utc_time(), utc_timestamp()

 

mysql> select utc_date(), utc_time(), utc_timestamp(), sysdate();
+------------+------------+---------------------+---------------------+
| utc_date() | utc_time() | utc_timestamp()     | sysdate()           |
+------------+------------+---------------------+---------------------+
| 2009-09-01 | 07:57:01   | 2009-09-01 07:57:01 | 2009-09-01 15:57:01 |
+------------+------------+---------------------+---------------------+
1 row in set (0.02 sec)

 

因为我国位于东八时区,所以本地时间 = UTC 时间 + 8 小时。

 

 

now() 函数两次的时间值是相同的; sysdate() 函数两次得到的时间值相差 3 秒。

 

MySQL Manual 中是这样描述 sysdate() 的:Return the time at which the function executes

 

2. 获得当前日期 curdate()

 

mysql> select curdate();
+------------+
| curdate()  |
+------------+
| 2009-09-01 |
+------------+
1 row in set (0.00 sec)

 

3. 获得当前时间 curtime()

 

mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 15:46:09  |
+-----------+
1 row in set (0.00 sec)

 

 

curtime() 与 now() 类似,执行开始时值就得到了, 例如:

 

mysql> select curtime(),sleep(2),curtime();
+-----------+----------+-----------+
| curtime() | sleep(2) | curtime() |
+-----------+----------+-----------+
| 15:46:33  |        0 | 15:46:33  |
+-----------+----------+-----------+
1 row in set (2.00 sec)

 

1.2 获得当前日期+时间(date + time)函数:sysdate()

 

mysql> select sysdate();
+---------------------+
| sysdate()           |
+---------------------+
| 2009-09-01 15:34:59 |
+---------------------+
1 row in set (0.03 sec)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值