【发布时间】:2016-01-24 15:11:30
【问题描述】:
我正在创建一个简单的博客脚本,但遇到了这个问题:
在 MySQL 中,我将 PostDate 保存为 TIMESTAMP,当我从 MYSQL 中选择时,PostDate 看起来像这样 2015-10-25 13:53:35,但我想将此时间戳转换为 H:M D-M-Y。我创建了一个用于转换的函数,但我不知道如何将它用于数组中的键 PostDate。正是我想将数组中的所有 PostData 键重写为新格式。我知道如何使用 foreach 循环来做到这一点,但我不能这样做,因为我使用 Smarty 模板引擎。
转换时间戳():
public function ConvertTimestamp($Timestamp)
{
$TimeDate = explode(' ', $Timestamp);
$Date = explode('-', $TimeDate['0']);
$Date = $Date[2].'-'.$Date['1'].'-'.$Date['0'];
$Time = explode(':', $TimeDate['1']);
$Time = $Time['0'].':'.$Time['1'];
$TimeDate = $Time.' '.$Date;
return $TimeDate;
}
【问题讨论】:
-
一段极其复杂的字符串操作:你为什么不简单地使用 PHP 的内置日期或 DateTime 对象函数,你可以让它简单的两行代码,甚至更容易改变您对将来可能要使用的格式的想法
-
public function ConvertTimestamp($dateTimeValue, $format='H:i d-M-Y') { $dto = new DateTime($dateTimeValue); return $dto->format($format); } -
非常感谢这个简单的代码!
标签: php mysql arrays timestamp