Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否将mysql时间戳转换为实际日期和时间?_Php_Mysql_Date_Timestamp - Fatal编程技术网

Php 是否将mysql时间戳转换为实际日期和时间?

Php 是否将mysql时间戳转换为实际日期和时间?,php,mysql,date,timestamp,Php,Mysql,Date,Timestamp,我将日期存储在mysql表中,它们被设置为存储为每行中的当前时间戳,存储方式如下: 2010-05-29 01:17:35 但我想做的是以某种方式使用PHP来分离所有内容,并创建一个更像以下内容的日期: 2010年5月29日凌晨1:17 至少有人能指引我走正确的道路吗。非常感谢您的帮助 echo date('M j Y g:i A', strtotime('2010-05-29 01:17:35')); 您有两种解决方案: 用于将日期解析为时间戳,并将其重新格式化为字符串 或者使用这个类

我将日期存储在mysql表中,它们被设置为存储为每行中的当前时间戳,存储方式如下:

2010-05-29 01:17:35
但我想做的是以某种方式使用PHP来分离所有内容,并创建一个更像以下内容的日期:

2010年5月29日凌晨1:17

至少有人能指引我走正确的道路吗。非常感谢您的帮助

echo date('M j Y g:i A', strtotime('2010-05-29 01:17:35'));

您有两种解决方案:

  • 用于将日期解析为时间戳,并将其重新格式化为字符串
  • 或者使用这个类

在PHP代码中,这意味着使用:

echo date('M j Y g:i A', strtotime('2010-05-29 01:17:35'));
或:


strotime
+
date
是您将看到使用最多的解决方案;但这并不是最好的解决方案:有了这些,您将使用UNIX时间戳,这意味着日期范围有限(如果使用32位整数,则从1970年到2038年)


另一方面,使用
DateTime
类,您可以使用的日期范围将没有限制。

如果您的表中有
DateTime
字段,并且您只需要日期字段,那么:

SELECT DATE_FORMAT(timestamp,'%M %D, %Y') FROM Mytable;
或:


其中
timestamp
是您的列名。

太棒了!非常感谢!那太简单了!再次感谢!请务必在复合格式页面上查看PHP手册中的本地化符号,不要将其称为“无限制”。哦,好吧,反正是+1哼,我肯定有人会说这不是无限的;-)
SELECT DATE_FORMAT(timestamp,'%M %D, %Y') FROM Mytable;
SELECT DATE_FORMAT(timestamp,'%Y-%m-%d') FROM Mytable;