Php 如何将MySQL返回的日期时间转换为可读性更强的字符串

Php 如何将MySQL返回的日期时间转换为可读性更强的字符串,php,mysql,Php,Mysql,我在MySQL上创建了一个事件表,如 CREATE TABLE events ( id INT AUTO_INCREMENT PRIMARY KEY, ts TIMESTAMP, dt DATETIME ); 现在,当我查询表中的dt时,我得到了2018-01-04 00:00:00。如何将其转换为要显示的Jan,4格式?您可以使用该功能 此外,您还可以对INSERT语句使用相同的函数 INSERT INTO events(`ts`, `dt`) VALUES ('so

我在MySQL上创建了一个事件表,如

CREATE TABLE events (
    id INT AUTO_INCREMENT PRIMARY KEY,
    ts TIMESTAMP,
    dt DATETIME
);
现在,当我查询表中的
dt
时,我得到了
2018-01-04 00:00:00
。如何将其转换为要显示的
Jan,4
格式?

您可以使用该功能

此外,您还可以对
INSERT
语句使用相同的函数

INSERT INTO events(`ts`, `dt`)
VALUES ('some timestamp', DATE_FORMAT('2018-01-15 00:00:00', '%b, %e'))

多谢埃尔文的可能副本。你知道我怎样才能在insert上执行相同的过程吗?我的意思是,如果用户在客户端插入
Jan,5
,我如何才能以
2018-01-05 00:00:00
@MonaCoder的标准数据库格式插入数据库?这个答案正好满足了您的要求。现在您正在扩展问题?@ryantxr,添加一些有用的代码没有什么坏处。MonaCoder,下次试着练习在你的问题中添加所有可能的问题。见编辑后的答案:)太好了,我真的很感谢您的时间和努力,先生!
INSERT INTO events(`ts`, `dt`)
VALUES ('some timestamp', DATE_FORMAT('2018-01-15 00:00:00', '%b, %e'))
<?php
$val = "2018-01-04 00:00:00";
$time = date_create($val);
echo date_format($time, "M, j");

// output: Jan, 4