• 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

  • 相关阅读:
    pyqt5_windows_hid_auto_detect_hotplug
    FSC商标门户网站重置密码操作指南
    PPTist在线编辑、播放幻灯片
    ARMday01(计算机理论、ARM理论)
    2024.3.9每日一题
    Java多线程从基本概念到精通大神,大佬给我们铺平学习之路
    【考研】数据结构考点——直接插入排序
    Jmeter基础(2) 目录介绍
    BSV 上用于通用计算的隐私非交互式赏金
    LeetCode20.有效的括号
  • 原文地址:https://blog.csdn.net/JackieDYH/article/details/125375544