标签:strtotime php mysql datetime
我已经找到了解决我的“问题”的正确方法,但即使在阅读了mysql页面后,我也不理解它背后的逻辑.
我目前在我的系统中将注册信息存储在我的一个表格中的“datetime”格式化字段中(YYYY-MM-DD hh:mm:ss).
当我想在我的一个php页面上显示数据时,只需发布确切的字段数据即可显示上述格式.
我只想使用日期(“Y-m-d”,$row [“DATE”]),其中$row [“DATE”]对应于特定的行值将返回所需的格式.
相反,我必须使用:date(“Y-m-d”,strtotime($row [“DATE”])).
为什么是这样?我的$row [“DATE”]字段首先不是字符串.我是否应该能够简单地重新排列日期时间字段中存储的数据?这不是重建我的整个表格以适应日期时间的目的吗?
解决方法:
MySQL有一个名为date_format的内置函数,您可以使用它来显示您想要的日期.
SELECT DATE_FORMAT(date_field, '%Y-%m-%d') as date_field FROM table_name
该手册具有格式列表和以这种方式显示它所需的变量.使用这种方法就没有必要让PHP转换它等等.另外,在PHP方面可以轻松处理MySQL的代码.
编辑
对不起,刚看到您正在寻找解释.
PHP的date
函数接受UNIX时间戳,MySQL没有使用它. MySQL使用实际日期格式IE:YYYY-MM-DD HH:MM:SS,如您所知,这将在多年后符合要求. UNIX时间戳具有有限的范围,例如1969年到2037年之间的有效范围,这使得它对于诸如聊天框消息之类的项目的“时间戳”或者预期在这些日期之后不期望的项目非常有用,其中因为MySQL DATETIME不会消失,直到年份变为5位数或世界结束.
有关它的更多信息,请阅读UNIX timestamp上的WIKI.
标签:strtotime,php,mysql,datetime 来源: https://codeday.me/bug/20190730/1581339.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。