zoukankan      html  css  js  c++  java
  • Mysql date, time, timestamp日期时间相关

    date: 格式:YYYY-MM-DD,时间范围:[0000-00-00, 9999-12-31],存储空间:3bytes

    time: 格式:HH:MM:SS,时间范围:[00:00:00, 23:59:59]

    timestamp: 

    1 4个字节存储,时间范围为:'1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'

    2 以UTC格式(世界标准时间)保存

    3 时间转化,存储时对当前的时区进行转换,检索时再转换回当前的时区

    datetime: 

    1 8个字节存储,时间范围为:'1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.999999'

    2 实际格式存储

    3 与时区无关

    参考资料:

    1. http://dev.mysql.com/doc/refman/5.6/en/datetime.html

    2. http://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html

    3. http://www.2cto.com/database/201308/233832.html

    时间日期函数

    1 获取当前日期/时间

    SELECT CURRENT_DATE();
    SELECT CURDATE();
    SELECT UTC_DATE();
    SELECT UTC_DATE;

    SELECT CURRENT_TIME();
    SELECT CURRENT_TIME;
    SELECT UTC_TIME();
    SELECT UTC_TIME;

    SELECT CURRENT_TIMESTAMP();
    SELECT CURRENT_TIMESTAMP;
    SELECT UTC_TIMESTAMP();
    SELECT UTC_TIMESTAMP;
    SELECT LOCALTIMESTAMP();
    SELECT LOCALTIMESTAMP;
    SELECT LOCALTIME();
    SELECT LOCALTIME;

    SELECT NOW();
    SELECT SYSDATE();

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

    示例:

    2 日期/时间函数:

    DATE(expr)
    DATEDIFF(expr1,expr2)
    DATE_ADD(date,INTERVAL expr unit) -- unit: day, hour, minute, second, microsecond, week, month, quarter, year

    unit 值
    MICROSECOND
    SECOND
    MINUTE
    HOUR
    DAY
    WEEK
    MONTH
    QUARTER
    YEAR
    SECOND_MICROSECOND
    MINUTE_MICROSECOND
    MINUTE_SECOND
    HOUR_MICROSECOND
    HOUR_SECOND
    HOUR_MINUTE
    DAY_MICROSECOND
    DAY_SECOND
    DAY_MINUTE
    DAY_HOUR
    YEAR_MONTH


    DATE_FORMAT(date,format)
    DATE_SUB(date,INTERVAL expr unit)

    TIME(expr)
    TIMEDIFF(expr1,expr2)
    TIMESTAMP(expr)
    TIMESTAMPADD(unit,interval,datetime_expr)
    TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
    TIME_FORMAT(time,format)

    YEAR(date)
    YEARWEEK(date)
    YEARWEEK(date,mode)

    QUARTER(date)

    MONTH(date)
    MONTHNAME(date)

    WEEK(date[,mode])
    WEEKDAY(date)
    WEEKOFYEAR(date)

    DAY(date)
    DAYNAME(date)
    DAYOFMONTH(date)
    DAYOFWEEK(date)
    DAYOFWEEK(date)
    DAYOFYEAR(date)

    HOUR(time)

    MINUTE(time)

    SECOND(time)

    MICROSECOND(expr)

    LAST_DAY(date)  -- 获取某月有多少天 SELECT DAY(LAST_DAY(NOW()));

    ADDDATE(date,INTERVAL expr unit)
    ADDDATE(expr,days)
    ADDTIME(expr1,expr2)

    3 日期/时间格式化

    DATE_FORMAT(date,format)

    示例:SELECT DATE_FORMAT('2018-01-02 03:04:05','%Y-%m-%d %H:%i:%S'); -- 对应Java yyyy-MM-dd HH:mm:ss

    格式
    描述
    %a 缩写星期名
    %b 缩写月名
    %c 月,数值
    %D 带有英文前缀的月中的天
    %d 月的天,数值(00-31)
    %e 月的天,数值(0-31)
    %f 微秒
    %H 小时 (00-23)
    %h 小时 (01-12)
    %I 小时 (01-12)
    %i 分钟,数值(00-59)
    %j 年的天 (001-366)
    %k 小时 (0-23)
    %l 小时 (1-12)
    %M 月名
    %m 月,数值(00-12)
    %p AM 或 PM
    %r 时间,12-小时(hh:mm:ss AM 或 PM)
    %S 秒(00-59)
    %s 秒(00-59)
    %T 时间, 24-小时 (hh:mm:ss)
    %U 周 (00-53) 星期日是一周的第一天
    %u 周 (00-53) 星期一是一周的第一天
    %V 周 (01-53) 星期日是一周的第一天,与 %X 使用
    %v 周 (01-53) 星期一是一周的第一天,与 %x 使用
    %W 星期名
    %w 周的天 (0=星期日, 6=星期六)
    %X 年,其中的星期日是周的第一天,4 位,与 %V 使用
    %x 年,其中的星期一是周的第一天,4 位,与 %v 使用
    %Y 年,4 位

    select get_format(date,'usa')          ;   -- '%m.%d.%Y'
    select get_format(date,'jis')          ;   -- '%Y-%m-%d'
    select get_format(date,'iso')          ;   -- '%Y-%m-%d'
    select get_format(date,'eur')          ;   -- '%d.%m.%Y'
    select get_format(date,'internal')     ;   -- '%Y%m%d'
    select get_format(datetime,'usa')      ;   -- '%Y-%m-%d %H.%i.%s'
    select get_format(datetime,'jis')      ;   -- '%Y-%m-%d %H:%i:%s'
    select get_format(datetime,'iso')      ;   -- '%Y-%m-%d %H:%i:%s'
    select get_format(datetime,'eur')      ;   -- '%Y-%m-%d %H.%i.%s'
    select get_format(datetime,'internal') ;   -- '%Y%m%d%H%i%s'
    select get_format(time,'usa')          ;   -- '%h:%i:%s %p'
    select get_format(time,'jis')          ;   -- '%H:%i:%s'
    select get_format(time,'iso')          ;   -- '%H:%i:%s'
    select get_format(time,'eur')          ;   -- '%H.%i.%s'
    select get_format(time,'internal')     ;   -- '%H%i%s'

    参考资料:

    http://www.w3school.com.cn/sql/func_date_add.asp

    http://www.cnblogs.com/redfox241/archive/2009/07/23/1529092.html

  • 相关阅读:
    springcloud的turbine集成zookeeper
    点赞功能与redis的相遇
    kmeans聚类源代码
    java map.entry
    M2Eclipse:Maven Eclipse插件无法搜索远程库的解决方法
    Maven仓库
    java生成验证码
    手工利用Chrome浏览器“Javascript控制台”
    分类算法之朴素贝叶斯分类(Naive Bayesian classification)
    JavaWeb 服务启动时,在后台启动加载一个线程
  • 原文地址:https://www.cnblogs.com/ken-jl/p/8797005.html
Copyright © 2011-2022 走看看