Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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
如何将sql当前时间戳作为php日期()输出?_Php_Sql_Timestamp - Fatal编程技术网

如何将sql当前时间戳作为php日期()输出?

如何将sql当前时间戳作为php日期()输出?,php,sql,timestamp,Php,Sql,Timestamp,可能重复: 我的SQL表中有一列具有默认的当前时间戳值。我正在尝试使用date()以更可读的格式输出它 然而,无论我使用哪种格式,我总是得到相同的日期:1970-01-01 00:33:32 以下是DB中当前时间戳的示例值:2012-08-09 06:37:58 下面是我用来尝试将其“转换”为可读格式的代码: $value['current_date']// is the var from the database.(containing 2012-08-09 06:37:58) $somev

可能重复:

我的SQL表中有一列具有默认的当前时间戳值。我正在尝试使用
date()
以更可读的格式输出它

然而,无论我使用哪种格式,我总是得到相同的日期:
1970-01-01 00:33:32

以下是DB中当前时间戳的示例值:
2012-08-09 06:37:58

下面是我用来尝试将其“转换”为可读格式的代码:

$value['current_date']// is the var from the database.(containing 2012-08-09 06:37:58)
$somevar = date('Y-m-d H:i:s', $value['current_date']);

提前感谢。

您的问题是在第二个参数中使用了错误的值。希望UNIX样式的时间戳作为第二个参数,而不是日期的字符串表示形式。请使用以下命令更正此问题:

$somevar = date('Y-m-d H:i:s', strtotime($value['current_date']));
然而,正如其他人所指出的,为什么要费心做这种格式化呢?所需的格式样式已在数据库中。它应该简单到:

echo $value['current_date'];

首先:如果时间戳已经以所需的格式存在,为什么要格式化它

关于实际问题:


date()。如果您想使用类似的时间戳,则需要首先使用
date\u create()
mktime
strotime

创建unix时间戳,因为
date()
的第二个参数应该是时间戳,由于您正在传递包含
2012-08-09 06:37:58
的原始字符串,php不知道如何处理它

按如下所示修改代码,它应该可以工作:

$somevar = date('Y-m-d H:i:s', strtotime($value['current_date']));

您现在可以使用任何日期格式来代替
'Y-m-d H:i:s'
,如您所愿

Jonah感谢您的帮助,TIMESTEMP-current TIMESTEMP默认不使用UNIX样式吗?
TIMESTAMP
是MySQL类型;它(本质上)与PHP中存在的类型没有关联。
strotime
函数将时间戳值(本质上是一个字符串)转换为等效的UNIX时间戳(整数)!我很乐意帮忙。记住将答案标记为已接受,以帮助将来遇到此问题的其他人。不要忘记。再次感谢莱恩,这只是一个测试,在我做了这么多尝试之后,我想用一些安全的东西。感谢所有帮助过我的人。