php - 如何从一串串接的数字中格式化 PHP 中的日期?

标签 php string date

我是 PHP 的新手,我正在尝试学习更多关于 php 日期和时间的知识,但我似乎对此感到困惑。

我有这个日期格式:

 ddMMyyHHmmss

一个例子是 120813125055 但我试图操纵字符串,这样它会给我以下格式:

 yyyy-MM-dd HH:mm:ss (in the example above, 2013-08-12 12:50:55)

我尝试做类似的事情:

 date('Y-m-d H:i:s', strtotime('120813125055'));

但它总是给我 1969-12-31 18:00:00 的结果。

我假设我需要为此在 PHP 中进行一些字符串操作,但我想知道是否有更简单、更有效的方法来做到这一点?

最佳答案

我认为您要查找的是此处回答的第二个回复:how to re-format datetime string in php?

总而言之(并应用于您的示例),您可以像这样修改代码。

$datetime = "120813125055"; 
$d = DateTime::createFromFormat("dmyHis", $datetime);
echo $d->format("Y-m-d H:i:s");

关于php - 如何从一串串接的数字中格式化 PHP 中的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18191088/

相关文章:

javascript - 如果持续时间为 24 小时,Moment.js 返回 2 天

php - 夏令时问题

php - 如何在组件中保持页眉和页脚相同,内容将发生变化

php - 未重定向到 Codeigniter 4 中的特定 URL

python - Python 中的英文键盘文本到俄语

python - 从列中删除不在范围内的日期

php - exec() 在 PHP 中没有按预期工作

php - 将 MYSQL 结果导出到 CSV

java - 测验应用程序与字符串不匹配

java - 获取随机列作为字符串列表