【发布时间】:2021-05-31 07:52:52
【问题描述】:
我是 php 新手,对以下函数有疑问:
protected function convertDate($date)
{
$toExplode = $date;
$pos = strpos($date, 'T');
if ($pos !== false) {
$toExplode = substr_replace($toExplode, ' ', $pos, 1);
}
if (strpos($toExplode, '.') !== false) {
$exploded = explode('.', $toExplode);
return $exploded[0];
}
if (strpos($toExplode, '+') !== false) {
$exploded = explode('+', $toExplode);
return $exploded[0];
}
}
我的输入有以下格式:
- 2019-05-26T22:01:00.000Z
- 2019-03-11 10:58:33.979+00
但我希望我的输出具有这种格式:
- 2019-03-11 10:58:33
不幸的是,当我应用该函数时,它在此日期返回 null:2019-04-23T16:26:59Z
我不知道我的函数出了什么问题。
【问题讨论】:
-
“消毒”一词有点含糊。您要接受还是拒绝替代格式?前者应该是直截了当的,因为
new \DateTime()和strtotime()都会很乐意接受任何松散地类似于约会的东西;后者可能更棘手。 -
这能回答你的问题吗? Convert one date format into another in PHP
-
你不想清理任何东西,你只想转换格式。
-
我已经更新了标题