mysql日期选择什么格式化_mysql 获取当前日期及格式化(一)

1.常用形式

-- 获取时间

-- 获取当前时间

-- 》2015-12-24 11:21:25

select now();

-- 获取当前日期

-- 》2015-12-24

select curdate();

-- 日期格式化

-- 》15-12-24

select date_format(now(),'%y-%m-%d');

-- 》2015-12-24

select date_format(now(),'%Y-%m-%d');

2.其他

MYSQL 获取当前日期及日期格式

获取系统日期: NOW()

获取系统日期:curdate()

格式化日期:DATE_FORMAT(date, format)

注: date:时间字段,format:日期格式

select now();返回系统日期,输出 2009-12-25 14:38:59

select date_format(now(),'%y-%m-%d'); 输出 09-12-25

根据format字符串格式化date值:

%S, %s 两位数字形式的秒( 00,01, ..., 59)

%I, %i 两位数字形式的分( 00,01, ..., 59)

%H 两位数字形式的小时,24 小时(00,01, ..., 23)

%h 两位数字形式的小时,12 小时(01,02, ..., 12)

%k 数字形式的小时,24 小时(0,1, ..., 23)

%l 数字形式的小时,12 小时(1, 2, ..., 12)

%T 24 小时的时间形式(hh:mm:ss)

%r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)

%p AM或PM

%W 一周中每一天的名称(Sunday, Monday, ..., Saturday)

%a 一周中每一天名称的缩写(Sun, Mon, ..., Sat)

%d 两位数字表示月中的天数(00, 01,..., 31)

%e 数字形式表示月中的天数(1, 2, ..., 31)

%D 英文后缀表示月中的天数(1st, 2nd, 3rd,...)

%w 以数字形式表示周中的天数( 0 = Sunday, 1=Monday, ..., 6=Saturday)

%j 以三位数字表示年中的天数( 001, 002, ..., 366)

%U 周(0, 1, 52),其中Sunday 为周中的第一天

%u 周(0, 1, 52),其中Monday 为周中的第一天

%M 月名(January, February, ..., December)

%b 缩写的月名( January, February,...., December)

%m 两位数字表示的月份(01, 02, ..., 12)

%c 数字表示的月份(1, 2, ...., 12)

%Y 四位数字表示的年份

%y 两位数字表示的年份

%% 直接值“%”

MySQL 获得当前日期时间 函数

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

mysql> select now();

+---------------------+

| now() |

+---------------------+

| 2008-08-08 22:20:46 |

+---------------------+

除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:

current_timestamp()

,current_timestamp

,localtime()

,localtime

,localtimestamp -- (v4.0.6)

,localtimestamp() -- (v4.0.6)

这些日期时间函数,都等同于 now()。鉴于 now() 函数简短易记,建议总是使用 now() 来替代上面列出的函数。

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

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

mysql> select now(), sleep(3), now();

+---------------------+----------+---------------------+

| now() | sleep(3) | now() |

+---------------------+----------+---------------------+

| 2008-08-08 22:28:21 | 0 | 2008-08-08 22:28:21 |

+---------------------+----------+---------------------+mysql> select sysdate(), sleep(3), sysdate();

+---------------------+----------+---------------------+

| sysdate() | sleep(3) | sysdate() |

+---------------------+----------+---------------------+

| 2008-08-08 22:28:41 | 0 | 2008-08-08 22:28:44 |

+---------------------+----------+---------------------+

可以看到,虽然中途 sleep 3 秒,但 now() 函数两次的时间值是相同的; sysdate() 函数两次得到的时间值相差 3秒。MySQL Manual 中是这样描述 sysdate() 的:Return the time at which the functionexecutes。

sysdate() 日期时间函数,一般情况下很少用到。

2. 获得当前日期(date)函数:curdate()

mysql> select curdate();

+------------+

| curdate() |

+------------+

| 2008-08-08 |

+------------+

其中,下面的两个日期函数等同于 curdate():

current_date()

,current_date

3. 获得当前时间(time)函数:curtime()

mysql> select curtime();

+-----------+

| curtime() |

+-----------+

| 22:41:30 |

+-----------+

其中,下面的两个时间函数等同于 curtime():

current_time()

,current_time

4. 获得当前 UTC 日期时间函数:utc_date(), utc_time(), utc_timestamp() mysql> select utc_timestamp(), utc_date(), utc_time(), now() +---------------------+------------+------------+---------------------+ | utc_timestamp() | utc_date() | utc_time() | now() | +---------------------+------------+------------+---------------------+ | 2008-08-08 14:47:11 | 2008-08-08 | 14:47:11 | 2008-08-08 22:47:11 | +---------------------+------------+------------+---------------------+ 因为我国位于东八时区,所以本地时间 = UTC 时间 + 8 小时。UTC 时间在业务涉及多个国家和地区的时候,非常有用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值