使用PHP格式化SQL时间戳

Chr*_*ski 21 php mysql timestamp date

我有一个带有时间戳字段的mySQL数据库.它在我测试时目前只有一个条目,它是

2010-02-20 13:14:09
Run Code Online (Sandbox Code Playgroud)

我从数据库中提取并使用

echo date("m-d-Y",$r['newsDate'])
Run Code Online (Sandbox Code Playgroud)

我的最终结果显示为

12-31-69
Run Code Online (Sandbox Code Playgroud)

谁知道为什么?

编辑:editedit:忽略编辑...记事本++的FTP插件超时,不幸的是,当它无法同步时不显示错误.

Pas*_*TIN 52

date函数需要UNIX时间戳作为其第二个参数 - 这意味着您必须将从数据库获取的日期转换为UNIX时间戳,这可以使用strtotime以下命令完成:

$db = '2010-02-20 13:14:09';
$timestamp = strtotime($db);
echo date("m-d-Y", $timestamp);
Run Code Online (Sandbox Code Playgroud)

你会得到:

02-20-2010
Run Code Online (Sandbox Code Playgroud)


你把'2010-02-20 13:14:09'字符串传递给date函数; 该字符串不是有效的UNIX时间戳.

'12-31-69'很可能1970-01-01,在你的地方; 并且1970-01-01是Epoch - 与0 UNIX时间戳对应的日期.