mysql格式化日期

mysql查询记录如果有时间戳字段时,查看结果不方便,不能即时看到时间戳代表的含义,现提供mysql格式换时间函数,可以方便的看到格式化后的时间。

1. DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。

DATE_FORMAT(date,format)

format参数的格式有

%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)

%pAM 或 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 位

%y年,2 位

例子:

DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')

DATE_FORMAT(NOW(),'%m-%d-%Y')

DATE_FORMAT(NOW(),'%d %b %y')

DATE_FORMAT(NOW(),'%d %b %Y %T:%f')

输出结果:

Dec29200811:45PM12-29-200829Dec0829Dec200816:25:46

2. MySQL 格式化函数 FROM_UNIXTIME()

SELECTFROM_UNIXTIME(date,'%Y-%c-%d %h:%i:%s')aspost_date ,

date_format(NOW(),'%Y-%c-%d %h:%i:%s')aspost_date_gmtFROM`article`whereoutkey='Y'

1、FROM_UNIXTIME( unix_timestamp )

参数:一般为10位的时间戳,如:1417363200

返回值:有两种,可能是类似 'YYYY-MM-DD HH:MM:SS' 这样的字符串,也有可能是类似于 YYYYMMDDHHMMSS.uuuuuu 这样的数字,具体返回什么取决于该函数被调用的形式。

mysql>selectFROM_UNIXTIME(1344887103);+---------------------------+|FROM_UNIXTIME(1344887103)|+---------------------------+|2012-08-1403:45:03|+---------------------------+1rowinset(0.00sec)

2、FROM_UNIXTIME( unix_timestamp ,format )

参数 unix_timestamp :与方法 FROM_UNIXTIME( unix_timestamp ) 中的参数含义一样;

参数 format : 转换之后的时间字符串显示的格式;

返回值:按照指定的时间格式显示的字符串;

mysql>selectFROM_UNIXTIME(1344887103,'%Y-%M-%D %h:%i:%s');+-----------------------------------------------+|FROM_UNIXTIME(1344887103,'%Y-%M-%D %h:%i:%s')|+-----------------------------------------------+|2012-August-14th03:45:03|+-----------------------------------------------+1rowinset(0.00sec)

mysql>selectFROM_UNIXTIME(1344887103,'%Y-%m-%D %h:%i:%s');+-----------------------------------------------+|FROM_UNIXTIME(1344887103,'%Y-%m-%D %h:%i:%s')|+-----------------------------------------------+|2012-08-14th03:45:03|+-----------------------------------------------+1rowinset(0.00sec)

3、判断是不是同一天:

SELECTtbl_gamedata.GameMapName,tbl_playerdata.GameMode, tbl_gamedata.MatchMode, tbl_playerdata.GameResult,SUM(tbl_playerdata.GameIsWin)AStday_winCount,SUM(tbl_playerdata.AssistCount)AStday_assistCount,SUM(tbl_playerdata.KillCount)AStday_killCount,SUM(tbl_player_title.ThreeKill)AStday_threeKill,SUM(tbl_player_title.FourKill)AStday_fourKill,SUM(tbl_player_title.FiveKill)AStday_fiveKillFROMtbl_playerdataLEFTJOINtbl_gamedataONtbl_playerdata.GameID=tbl_gamedata.GameIDLEFTJOINtbl_player_titleONtbl_player_title.GameID=tbl_playerdata.GameIDANDtbl_player_title.PlayerID=tbl_playerdata.PlayerIDWHEREtbl_playerdata.PlayerID=user_idAND(tbl_playerdata.GameResult=2ORtbl_playerdata.GameResult=3)ANDTO_DAYS(FROM_UNIXTIME(tbl_playerdata.GameStartTime))=TO_DAYS(NOW())GROUPBYtbl_gamedata.GameMapName, tbl_playerdata.GameMode,tbl_gamedata.MatchMode,tbl_playerdata.GameResult;

其中TO_DAYS(FROM_UNIXTIME(tbl_playerdata.GameStartTime)) = TO_DAYS(NOW()) 就是我们需要的判断

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容