好的,我试图显示我从数据库中获取的日期
以下是我无需格式化即可显示的内容: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);
这就是我得到的错误;
它显示的日期也是错误的
提前感谢您的帮助
答案 0 :(得分:3)
您说您可以在没有任何格式的情况下显示2012-11-21 19:00:00
。
因此,如果您可以将任意$日期显示为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 Epoch(1970年1月1日00:00:00 GMT)。
您可以将其转换为有效的时间戳,如下所示:
$expiryDate = date('Y-m-d', strtotime($date));
或者匹配您的示例:
$expiryDate = date('Y-m-d', strtotime($data[0]->dinExpiry));
$expiryTime = date('H:i', strtotime($data[0]->dinExpiry));