详解PHP开发中Mysql日期时间格式转换函数

网络整理 - 07-30

用时时间字段一般是必不可少的,由于Mysql日期函数输出的日期格式与PHP日期函数之间的日期格式兼容性不够,这就需要根据网站实际情况使用Mysql或PHP日期转换函数进行日期格式的转换。我们建议,当涉及到大量日期计算时使用UNIX时间戳格式进行日期计算或保存是非常好的开发习惯,UNIX时间戳有利于PHP与Msyq之间进行日期时间的格式转换,下面我们就介绍一些常用的Mysql日期函数,以方便大家在PHP开发中进行日期转换。

  Mysql日期格式函数DATE_FORMAT

  与PHP日期函数date功能类似,在Mysql数据库中也有日期格式初始化函数DATE_FORMAT,主要用来将Mysql数据库的日期时间以用户需要的日期格式进行转换输出。只是日期格式代码不同。在Mysql数据库中日期默认显示格式为YYYY-MM-DD,如果需要显示其他日期格式,就需要使用Mysql日期函数DATE_FORMAT对日期进行格式化。Mysql日期函数DATE_FORMAT的格式化代码请参考Mysql官网日期函数DATE_FORMAT介绍。

  在Mysql数据库中,Mysql日期函数DATE_FORMAT的常用方法

 SELECT  DATE_FORMAT(date_col,"日期格式化字符串") FROM tablename;

  Mysql UNIX时间戳函数UNIX_TIMESTAMP/FROM_UNIXTIME

  为什么需要介绍这两个Mysql UNIX时间戳函数呢?DATE_FORMAT函数只是Mysql日期格式化函数,当需要PHP日期函数与Mysql日期函数之间需要格式转化时,必须有一个沟通的桥梁,而UNIX时间戳格式的日期时间正好是两者之间的桥梁,Mysql UNIX时间戳函数UNIX_TIMESTAMP主要用来将当前时间或指定的日期时间值转换为UNIX时间戳格式,即

SELECT UNIX_TIMESTAMP();

SELECT UNIX_TIMESTAMP('2011-05-28 21:00:00');

  而FROM_UNIXTIME函数主要用来将指定的UNIX时间戳日期格式根据设置的日期时间格式字符串要求显示出来,即

 FROM_UNIXTIME(unix_timestamp[,format])

format格式字符串的含义与Mysql日期函数DATE_FORMAT格式字符串一致。

  Mysql数据库中使用UNIX时间戳日期格式的场合与好处

  当你进行PHP开发时,如果涉及到的前后台日期计算任务比较多,我们还是推荐在Mysql数据库设计时,日期时间格式还是使用UNIX时间戳格式,UNIX时间戳日期格式的好处是通用性强,便于不同格式的日期函数间相互转化,同时日期计算方面效率也更高。如果PHP开发中日期更多是用来显示的,那使用Mysql固有的日期显示格式YYYY-MM-DD显得更直观。当然在整个Mysql数据库设计中,日期时间字段的类型还是需要做到统筹规划,切勿格式不同,这会给网站开发和后期维护带来很大的麻烦。

  至此,Mysql日期函数中关于日期时间格式转换函数的介绍就完了,对于PHP入门学习的朋友来说,只要灵活掌握Mysql日期函数DATE_FORMAT、UNIX_TIMESTAMP、FROM_UNIXTIME的基础知识,PHP网站开发中日期处理基本就没什么问题了。