好的,所以我试图显示我从数据库中获得的日期
这是我可以在没有任何格式的情况下显示的内容:2012-11-21 19:00:00
我试图显示的是:2012-11-21 at 19:00:00
下面是代码
$expiryDate = date('Y/m/d', $data[0]->dinExpiry);
$expiryTime = date('H:i', $data[0]->dinExpiry);
这是我得到的错误;
它显示的日期也是错误的
在此先感谢您的帮助
好的,所以我试图显示我从数据库中获得的日期
这是我可以在没有任何格式的情况下显示的内容:2012-11-21 19:00:00
我试图显示的是:2012-11-21 at 19:00:00
下面是代码
$expiryDate = date('Y/m/d', $data[0]->dinExpiry);
$expiryTime = date('H:i', $data[0]->dinExpiry);
这是我得到的错误;
它显示的日期也是错误的
在此先感谢您的帮助
你说你可以显示2012-11-21 19:00:00
没有任何格式。
因此,如果您可以将任意 $date 显示为 2012-11-21 19:00:00,为什么不直接对其进行子串化:
$dateToDisplay = substr($date, 0, 11).'at '.substr($date, 11, 8);
并将 $dateToDisplay 显示为2012-11-21 at 19:00:00
.
在不知道 $data[0]->dinExpiry 的输出的情况下回答这个问题很棘手。(我假设它为您提供了一个名为 $date 的变量)。
正如@Marc B 所说,您从中得到 1970 的事实表明它不是有效的时间戳(提示:它是一个字符串),因此自 Unix 纪元(1970 年 1 月 1 日 00:00:格林威治标准时间 00)。
您可以将其转换为有效的时间戳,如下所示:
$expiryDate = date('Y-m-d', strtotime($date));
或匹配您的示例:
$expiryDate = date('Y-m-d', strtotime($data[0]->dinExpiry));
$expiryTime = date('H:i', strtotime($data[0]->dinExpiry));