如何将MySQL时间戳转换为PHP中的日期时间



i有一个MySQL DB表,其中一个名为"timestamp"的列,timestamp的类型和on update CURRENT_TIMESTAMP的属性和CURRENT_TIMESTAMP的默认值。

如果我将记录添加到表中,指定其他值,而不是时间戳,则会像2016-12-28 17:02:26一样自动添加时间戳。

在php中,我使用以下查询查询表格

SELECT * FROM history WHERE user_id = 9 ORDER BY timestamp ASC

查询的结果将其保存到$rows中,我使用foreach创建具有其他格式的其他值的数组。我正在尝试将时间戳格式化为英国类型24小时日期时间: dd/mm/yy, HH:MM:SS

我尝试了date()strftime()的功能如下:

$formatted_datetime = strftime("%d %m %y  %H %M %S", $row["timestamp"]); 
$formatted_datetime = date("d/m/y, H:i:s", $row["timestamp"]);

这两个导致下面的通知和输出的日期时间不正确,就像01 01 70 00 33 36

注意:在/home/ubuntu/workspace/pset7/public/history.php上遇到的非形成良好的数字值

我是PHP和MySQL的新手,到目前为止,我所见过的其他问题或文档都没有成功地解决此转换。我不明白为什么strftime()不起作用,也不理解如何正确执行?

要使用 DateTime class的OO(和最灵活)的方法,并使用静态createFromFormat方法实例化新的DateTime对象:

$new_datetime = DateTime::createFromFormat ( "Y-m-d H:i:s", $row["timestamp"] );

现在,您可以使用$new_datetime对象通过调用对象的format方法来生成您想要的任何字符串表示:

echo $new_datetime->format('d/m/y, H:i:s');

要启动,由于您拥有DateTime对象,因此您现在也可以进行任何转换(例如移动时区或添加天数),比较(比其他DateTime更大或更少)和各种时间计算(多少天(多少天)/note/etc ...在此和另一个DateTime之间)。

dateTime:http://php.net/manual/en/class.datempetime.php学习。爱它。活着。

通常在MySQL日期时间戳中节省时间为YYYY-MM-DD HH:MM:SS (2016-12-20 18:36:14) femate您可以使用日期式构造轻松将它们作为您的愿望转换为您的愿望,但必须先将您的输入转换为时间。以下将执行技巧

$formatted_datetime = date("d/m/y, H:i:s", strtotime($row["timestamp"]));

为什么不使mysql完成工作?而且您真的想要MM/DD/YY,而不是DD/MM/YY?

SELECT *, DATE_FORMAT(timestamp, '%m/%d/%y, %T') formatted_date FROM ....

然后,您可以将格式化日期提取为$ row ['formatted_date']。

日期是timestamp类型的日期,其具有以下格式:'yyyy-mm-dd HH:MM:SS'或'2008-10-05 21:34:02。br>

$res = mysql_query("SELECT date FROM times;");
while ( $row = mysql_fetch_array($res) ) {
   echo $row['date'] . "
";
}

php strtotime函数将MySQL时间戳解析为UNIX时间戳,该时间戳可以在PHP日期函数中用于进一步解析或格式化。

这是其他一些可能具有实际用途的样本日期输出格式:

echo date("F j, Y g:i a", strtotime($row["date"]));                  // October 5, 2008 9:34 pm
echo date("m.d.y", strtotime($row["date"]));                         // 10.05.08
echo date("j, n, Y", strtotime($row["date"]));                       // 5, 10, 2008
echo date("Ymd", strtotime($row["date"]));                           // 20081005
echo date('it is the jS day.', strtotime($row["date"]));   // It is the 5th day.
echo date("D M j G:i:s T Y", strtotime($row["date"]));               // Sun Oct 5 21:34:02 PST 2008

我将使用碳等级及其字符串格式

$carbon = Carbon::instance('2016-12-28 17:02:26');

然后您可以按照自己的方式格式化。

相关内容

  • 没有找到相关文章

最新更新