我正在连接一个API,它返回的是UnixDate格式的日期,而不是unix时间戳。如何将此格式转换为能够将其保存在日期时间字段中?
示例:'Mon Jun 09 21:59:59 UTC 2025‘
发布于 2017-02-23 01:13:34
您可以简单地执行以下操作
$date = date('Y-m-d H:i:s', strtotime('Mon Jun 09 21:59:59 UTC 2025'));
echo $date; 发布于 2017-02-23 01:38:47
PHP命令会将date()时间戳转换为多种不同的格式。因此,抽象地说,如果您执行以下操作:
date(*formatCodeString*, *timeStampInt*);您应该能够获得所需的格式。
步骤1:确定MySQL DATETIME的格式代码
MySQL 5.7手册状态。
DATETIME类型用于同时包含日期和时间部分的值。MySQL以'YYYY-MM-DD HH:MM:SS'格式检索和显示日期时间值。支持的范围是'1000-01-01 00:00:00‘到'9999-12-31 23:59:59’。
因此,我们需要创建一个表示表单YYYY-MM-DD HH:MM:SS的格式代码字符串。
来自date()的PHP手册。
YYYY =Y
MM =m
DD =d
HH =H
MM =i
SS =s
MySQL DATETIME =的PHP date()格式字符串
'Y-m-d H:i:s'
步骤2:将日期字符串转换为UNIX时间戳。
使用PHP函数stringtotime()。PHP手册指出:
...将任何英文文本日期时间描述解析为Unix时间戳。
UNIX时间戳=
strtotime('Mon Jun 09 21:59:59 UTC 2025');
步骤3:在date()中使用PHP date format代码和UNIX时间戳
MySQL DATETIME字符串=
date('Y-m-d H:i:s', strtotime('Mon Jun 09 21:59:59 UTC 2025'));
这应该就行了。祝好运!
https://stackoverflow.com/questions/42397967
复制相似问题