本篇文章主要介绍了mysql 获取当前日期及格式化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

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

获取系统日期: NOW()

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

注: date:时间字段

format:日期格式

返回系统日期,输出 2009-12-25 14:38:59

输出 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()

除了 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() 在函数执行时动态得到值。看下面的例子就明白了:

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

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

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

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

current_date()

,current_date

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

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

current_time()

,current_time

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

因为我国位于东八时区,所以本地时间 = UTC 时间 + 8 小时。UTC 时间在业务涉及多个国家和地区的时候,非常有用。

二、MySQL 日期时间 Extract(选取) 函数。

1. 选取日期时间的各个部分:日期、时间、年、季度、月、日、小时、分钟、秒、微秒

2. MySQL Extract() 函数,可以上面实现类似的功能:

MySQLExtract() 函数除了没有date(),time() 的功能外,其他功能一应具全。并且还具有选取‘day_microsecond'等功能。注意这里不是只选取 day 和 microsecond,而是从日期的 day 部分一直选取到 microsecond 部分。够强悍的吧!

MySQL Extract() 函数唯一不好的地方在于:你需要多敲几次键盘。

3. MySQL dayof… 函数:dayofweek(), dayofmonth(), dayofyear()

分别返回日期参数,在一周、一月、一年中的位置。

日期 ‘2008-08-08′ 是一周中的第 6 天(1 = Sunday, 2 = Monday, …, 7 = Saturday);一月中的第 8 天;一年中的第 221 天。

4. MySQL week… 函数:week(), weekofyear(), dayofweek(), weekday(), yearweek()

MySQL week() 函数,可以有两个参数,具体可看手册。 weekofyear() 和 week() 一样,都是计算“某天”是位于一年中的第几周。 weekofyear(@dt) 等价于 week(@dt,3)。

MySQLweekday() 函数和 dayofweek() 类似,都是返回“某天”在一周中的位置。不同点在于参考的标准, weekday:(0 =Monday, 1 = Tuesday, …, 6 = Sunday); dayofweek:(1 = Sunday, 2 = Monday,…, 7 = Saturday)

MySQL yearweek() 函数,返回 year(2008) + week 位置(31)。

5. MySQL 返回星期和月份名称函数:dayname(), monthname()

思考,如何返回中文的名称呢?

6. MySQL last_day() 函数:返回月份中的最后一天。

MySQL last_day() 函数非常有用,比如我想得到当前月份中有多少天,可以这样来计算:

三、MySQL 日期时间计算函数

1. MySQL 为日期增加一个时间间隔:date_add()

MySQL adddate(), addtime()函数,可以用 date_add() 来替代。下面是 date_add() 实现 addtime() 功能示例:

date_add() 函数,分别为 @dt 增加了“1小时 15分 30秒” 和 “1天 1小时 15分 30秒”。建议:总是使用 date_add() 日期时间函数来替代 adddate(), addtime()。

2. MySQL 为日期减去一个时间间隔:date_sub()

MySQL date_sub() 日期时间函数 和 date_add() 用法一致,不再赘述。另外,MySQL 中还有两个函数 subdate(), subtime(),建议,用 date_sub() 来替代。

3. MySQL 另类日期函数:period_add(P,N), period_diff(P1,P2)

函数参数“P” 的格式为“YYYYMM” 或者 “YYMM”,第二个参数“N” 表示增加或减去 N month(月)。

MySQL period_add(P,N):日期加/减去N月。

在 MySQL 中,这两个日期函数,一般情况下很少用到。

4. MySQL 日期、时间相减函数:datediff(date1,date2), timediff(time1,time2)

MySQL datediff(date1,date2):两个日期相减 date1 - date2,返回天数。

MySQL timediff(time1,time2):两个日期相减 time1 - time2,返回 time 差值。

注意:timediff(time1,time2) 函数的两个参数类型必须相同。

四、MySQL 日期转换函数、时间转换函数

1. MySQL (时间、秒)转换函数:time_to_sec(time), sec_to_time(seconds)

2. MySQL (日期、天数)转换函数:to_days(date), from_days(days)

3. MySQL Str to Date (字符串转换为日期)函数:str_to_date(str, format)

可以看到,str_to_date(str,format) 转换函数,可以把一些杂乱无章的字符串转换为日期格式。另外,它也可以转换为时间。“format” 可以参看 MySQL 手册。

4. MySQL Date/Time to Str(日期/时间转换为字符串)函数:date_format(date,format), time_format(time,format)

MySQL 日期、时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式。它是 str_to_date(str,format) 函数的 一个逆转换。

5. MySQL 获得国家地区时间格式函数:get_format()

MySQL get_format() 语法:

get_format(date|time|datetime, 'eur'|'usa'|'jis'|'iso'|'internal'

MySQL get_format() 用法的全部示例:

MySQL get_format() 函数在实际中用到机会的比较少。

6. MySQL 拼凑日期、时间函数:makdedate(year,dayofyear), maketime(hour,minute,second)

五、MySQL 时间戳(Timestamp)函数

1. MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()

2. MySQL (Unix 时间戳、日期)转换函数:

下面是示例:

3. MySQL 时间戳(timestamp)转换、增、减函数:

请看示例部分:

MySQL timestampadd() 函数类似于 date_add()。

MySQL timestampdiff() 函数就比 datediff() 功能强多了,datediff() 只能计算两个日期(date)之间相差的天数。

六、MySQL 时区(timezone)转换函数convert_tz(dt,from_tz,to_tz)

时区转换也可以通过 date_add, date_sub, timestampadd 来实现。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

mysql 获取当前日期_详解mysql 获取当前日期及格式化相关推荐

  1. mysql sql组合_详解mysql 组合查询

    使用UNION 多数SQL查询都只包含一个或多个表中返回数据的单条SELECT语句.MySQL也允许执行多个查询(多条SELECT语句),并将结果作为单个查询结果集返回.这些组合查询通常称为并(uni ...

  2. mysql 数据分组_详解MySQL 数据分组

    创建分组 分组是在select语句中的group by 子句中建立的. 例: select vend_id, count(*) as num_prods from products group by ...

  3. java mysql 自动提交_详解MySQL与Spring的自动提交(autocommit)

    1 MySQL的autocommit设置 MySQL默认是开启自动提交的,即每一条DML(增删改)语句都会被作为一个单独的事务进行隐式提交.如果修改为关闭状态,则执行DML语句之后要手动提交 才能生效 ...

  4. mysql 日期比较_详解Mysql中日期比较大小的方法

    假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql: 代码如下 select * from product where add_time = '2 ...

  5. mysql 事务 for update,mysql事务锁_详解mysql 锁表 for update

    摘要 腾兴网为您分享:详解mysql 锁表 for update,智慧农业,真还赚,悦读小说,学习帮等软件知识,以及电池管家,三国群英传3,userland,运满满货主版,王者荣耀,简单3d动画,嘉丽 ...

  6. mysql重做日志_详解MySQL 重做日志(redo log)与回滚日志(undo logo)

    前言: 前面文章讲述了 MySQL 系统中常见的几种日志,其实还有事务相关日志 redo log 和 undo log 没有介绍.相对于其他几种日志而言, redo log 和 undo log 是更 ...

  7. mysql function函数_详解MySQL如何按表创建千万级的压测数据

    概述 有时我们要对系统做压测,或者数据库压力测试,这时候需要对某些表插入几百万或者上千万数据,下面介绍下怎么利用MySQL循环和存储过程对特定表的创建千万行数据. 1.准备测试表 CREATE TAB ...

  8. mysql 参照完整性规则_详解mysql数据库审计特点、实现方案及审计插件部署演示...

    概述 数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断.它通过对用户访问数据库行为的记录.分 ...

  9. linux mysql 查看缓存_详解MySQL查询缓存

    查询缓存是指存储使用SELECT语法查询到的返回到客户端的文本.当相同的请求再次发生时,会从查询缓存中获取数据,而非再执行一遍查询.查询缓存是共享Session会话的,所以一个客户端的请求可能与另一个 ...

最新文章

  1. Mondrian 3.14.0 服务配置说明(限功能使用验证)
  2. 海纳百川、有容乃大:从4个角度解读京东3C新方向
  3. 蓝桥杯 每周一练 第一周(3n+1问题)
  4. 交换机工作原理及实验浅析
  5. TCP协议——粘包与拆包
  6. java 布局管理器_有时在Java中,一个布局管理器是不够的
  7. git tig使用技巧_如何使用Tig浏览Git日志
  8. 【java】数组异常的处理
  9. 事情隐瞒或者公开,对你没有任何意义
  10. 华为这份关于专利的会议纪要,都说了什么?(内含华为十大发明彩蛋)
  11. 四阶龙格库塔法RK4在求解陀螺仪位姿中的应用
  12. ucgui 嵌入式 输入法 包含拼音、笔画、英文、数字与符号的完整输入法软件
  13. 欧几里德与扩展欧几里德算法
  14. 《高效能人士的七个习惯》读后感
  15. dw什么运行php,php新手求助,为什么在DW中设计里能看到运行php程序的结果,但…...
  16. 命中有时终须有,命中无时莫强求--命理理论
  17. WC2007 剪刀石头布【补集转化+比赛问题费用流】
  18. python提取cad坐标_怎么提取cad中坐标?CAD批量提取坐标点的三种方法
  19. 用Java实现每天给对象发情话
  20. 【maven】Maven异常:Could not find artifact

热门文章

  1. c# char*字符串指针
  2. 清华工科博士答辩PPT(转载)
  3. Django之富文本编辑器的使用,超级简单~
  4. Alpha系列——从MPT到APT
  5. Spring Boot项目启动流程
  6. 单链表的while循环创建
  7. Kubernetes网络技术解析之Pod基于路由模式的通信实现
  8. 吴恩达深度学习 | (20) 序列模型专项课程第一周学习笔记
  9. 美业小程序要如何复盘
  10. PHP读取文件的常见方法