• MySQL中from_unixtime和unix_timestamp处理数据库时间戳转换问题-案例


    MySQL数据表设计中,时间字段一般都设计为时间戳格式的,开发人员去查看的时候就显得有点不方便。可以使用FROM_UNIXTIME转换成日期格式进行查看

    如果是日期格式的,要转换成时间戳查看呢,只需要把FROM_UNIXTIME换成UNIX_TIMESTAMP即可

    案例一 

    SELECT *,FROM_UNIXTIME(create_time) AS DATETIME FROM ebk_cls_io_log;

    案例二 

    select  from_unixtime(at2.payTime, '%Y-%m-%d'), sum(at2.amount) from alipay_trade at2 group by from_unixtime(at2.payTime, '%Y-%m-%d');

     


    汇总 

    1、时间转时间戳
    获取当前时间戳(秒)

    1. select unix_timestamp();
    2. 结果:1599665897

    获取指定格式日期时间戳

    1. select unix_timestamp('2020-9-9');
    2. 结果:1599580800

    获取指定格式日期和时间戳的时间戳

    1. select unix_timestamp('2020-9-9 23:49:20');
    2. 结果:1599666560

    2、时间戳转时间
    语法:FROM_UNIXTIME(unix_timestamp,format)
    时间戳(unix_timestamp)为10位

    1. select from_unixtime(1599666560,'%Y-%m-%d %H:%i:%S');
    2. 结果:2020-09-09 23:49:20
    格式描述示例运行结果
    %a英文缩写星期名SELECT FROM_UNIXTIME(1599666560,’%a’);Tue
    %b英文缩写月名SELECT FROM_UNIXTIME( Now( ), ‘%b’ )Sep
    %c月,数值SELECT FROM_UNIXTIME( Now( ), ‘%c’ )9
    %D带有英文前缀的月中的第几天SELECT FROM_UNIXTIME( Now( ), ‘%D’ )9th
    %d月的天,数值(00-31)SELECT FROM_UNIXTIME( Now( ), '%d ’ )09
    %e月的天,数值(0-31)SELECT FROM_UNIXTIME( Now( ), '%e ’ )9
    %f微秒SELECT FROM_UNIXTIME(1599666560 , '%f ’ )000000
    %H小时 (00-23)SELECT FROM_UNIXTIME(1599666560 , '%H ’ )23
    %h小时 (01-12)SELECT FROM_UNIXTIME(1599666560 , '%h ’ )11
    %I小时 (01-12)SELECT FROM_UNIXTIME(1599666560, ‘%I’ )11
    %i分钟,数值(00-59)SELECT FROM_UNIXTIME(1599666560, ‘%i’ )49
    %j年的天 (001-366)SELECT FROM_UNIXTIME(1599666560, ‘%j’ )253
    %k小时 (0-23)SELECT FROM_UNIXTIME(1599666560, ‘%k’ )23
    %l小时 (1-12)SELECT FROM_UNIXTIME(1599666560, ‘%l’ )11
    %M月份,英文SELECT FROM_UNIXTIME(1599666560, ‘%M’ )September
    %m月份,数值(00-12)SELECT FROM_UNIXTIME(1599666560, ‘%m’ )09
    %p上下午SELECT FROM_UNIXTIME(1599666560, ‘%p’ )PM
    %r时间,12-小时(hh:mm:ss AM 或 PM)SELECT FROM_UNIXTIME(1599666560, ‘%r’ )11:49:20 PM
    %S秒(00-59)SELECT FROM_UNIXTIME(1599666560, ‘%S’ )20
    %s秒(00-59)SELECT FROM_UNIXTIME(1599666560, ‘%s’ )20
    %T时间, 24-小时 (hh:mm:ss)SELECT FROM_UNIXTIME(1599666560, ‘%T’ )23:49:20
    %U周 (00-53) 星期日是一周的第一天SELECT FROM_UNIXTIME(1599666560, ‘%U’ )36
    %u周 (00-53) 星期一是一周的第一天SELECT FROM_UNIXTIME(1599666560, ‘%u’ )37
    %V周 (01-53) 星期日是一周的第一天,与 %X 使用SELECT FROM_UNIXTIME(1599666560, ‘%V’ )36
    %v周 (01-53) 星期一是一周的第一天,与 %x 使用SELECT FROM_UNIXTIME(1599666560, ‘%v’ )37
    %W周几,英文全称SELECT FROM_UNIXTIME(1599666560, ‘%W’ )Wednesday
    %w周的天 (0=星期日, 6=星期六)SELECT FROM_UNIXTIME(1599666560, ‘%w’ )3
    %X年,4 位,其中的星期日是周的第一天,与 %V 使用SELECT FROM_UNIXTIME(1599666560, ‘%X’ )2020
    %x年,4 位,其中的星期一是周的第一天,与 %v 使用SELECT FROM_UNIXTIME(1599666560, ‘%x’ )2020
    %Y年,4 位SELECT FROM_UNIXTIME(1599666560, ‘%Y’ )2020
    %y年,2 位SELECT FROM_UNIXTIME(1599666560, ‘%y’ )20

  • 相关阅读:
    自制操作系统日志——第十九天
    《重构:改善既有代码的设计》读书笔记(下)
    Windows下获取系统进程列表及相关信息
    vue2踩坑之项目:生成二维码使用vue-print-nb打印二维码
    离子液体(1-乙基-3-甲基咪唑六氟磷酸[EMIM][PF6])负载量不同的多孔纳米氧化硅(SiOx)研究结果
    JavaScript 63 JavaScript 对象 63.9 JavaScript Map 对象
    笔耕不辍 -- 继续前行
    架构风格区别-架构案例(五十九)
    前端面试题
    第十章 : 如何使用MockMvc 快速编写Reslful API 测试用例
  • 原文地址:https://blog.csdn.net/JackieDYH/article/details/125375544