我正在编写我的第一个PHP应用程序,该应用程序必须直接处理日期,从而直接处理PHP和MySQL具有不同日期格式的事实。
我的问题是:解决这种差异的最优雅的方法是什么?
我有以下两个功能来管理使用php的差异:
function mysql_date($php_date) {
return date( 'Y-m-d H:i:s', $php_date );
}
function php_date($mysql_date) {
$val = explode(" ",$mysql_date);
$date = explode("-",$val[0]);
$time = explode(":",$val[1]);
return mktime($time[0],$time[1],$time[2],$date[1],$date[2],$date[0]);
}
有没有更简单的方法可以直接在我的SQL查询中进行管理?
还是可以建议其他更优雅的方式来解决此问题?
自PHP
5.2起(大约),PHP具有一个内置的用于处理日期和时间的类/对象,称为DateTime。在空虚的情况下,使用内置函数总比弄乱那些杂乱的细节总是更好。
DateTime构造函数(或date_create函数)接受strToTime可以理解的任何格式的日期。您只需要知道strToTime就是神奇的伏都教就可以正确识别几乎任何字符串格式的日期。当我第一次遇到strToTime时,我有与您现在相同的内部反应(“这是胡说八道/似乎不可靠”)。不是。它只是以您自己对日期的脆弱理解永远都不会的方式工作(如果您认为您理解日期,那么您就不会。请相信我。)
因此,从MySQL获取信息作为Date / Time字符串,然后立即创建一个PHP
date对象。当/如果您再次需要日期作为字符串时,请使用date_format方法(带有一些方便的常量)。
问题内容: 我想计算两个日期时间字段之间的月份数。 有没有比获得unix时间戳和除以2592 000(秒)并在MySQL中四舍五入更好的方法了? 问题答案: 该DATEDIFF功能可以给你的天数两个日期之间。由于…您如何定义一个月,哪个更准确?(28、29、30或31天?)
问题内容: 如何以格式计算两个日期之间的差并以秒或毫秒为单位获取结果? 问题答案: 因此,您可以为您的目的使用。
我是SAS的新手,我有一个如下所示的数据集: 现在我想把这些数字转换成日期格式。然后找出由此得到的日期的差异(以天为单位)。我尝试了“通知”的方式,但没有取得任何进展。请帮助....
问题内容: 我正在使用jQuery datepicker datepicker的格式是这个 我在插入数据库时出错,仅插入0000-00-00 00 00 00 我的密码是 我确定我的插入内容正确无误。 问题答案: 如日期和时间文字中所述: MySQL可以识别以下格式的值: 作为或格式的字符串。允许使用“宽松”语法:任何标点符号都可以用作日期部分之间的分隔符。例如,,,,和是相等的。 * 作为没
问题内容: 我试图得到两个日期时间之间的差异,并将其作为返回。我找到了使用示例,但似乎无法正确处理。 但是登录到我的数据库。这是因为我没有格式化totaltime变量吗? 问题答案: 我不确定您要寻找的格式有何不同,但这是使用DateTime的方法
问题内容: 已修正-这是我现在所拥有的 -用ASP编写 原始问题: 简单的问题,但由于某种原因,我似乎无法正常工作。 我有一个搜索框,旁边是日期范围选择菜单,因此用户可以搜索最近1个月,6个月或12个月内的照片。 我所拥有的没有错误,但是当它应该执行时它不会产生任何结果,就是这样: SQL输出产生以下结果: 数据库的’dateCreated’字段设置为(Date INDEX)。 谁能看到哪里出了问