从日期时间戳字符串中删除可选的时间部分

Ano*_*ous 1 php timestamp strip date-format substr

我正在 PHP 脚本中处理一些字符串,这些字符串可能是Y-m-d H:i:sY-m-d格式。我需要 H:i:s从日期时间字符串中删除该部分,以便我始终如一地处理Y-m-d日期字符串。

如果存在该尾随字符串(及其前导空格),如何删除它?

我的字符串可能看起来像2003-11-24 23:52:182009-01-25

我对这些字符串的预期结果是2003-11-242009-01-25

我不需要验证这些字符串是否代表真正的“日期”或“日期时间”值。

inv*_*sal 5

因为日期的长度总是固定的。您可以使用substr

// With 00:00:00
$date = '2003-01-2800:00:00';
echo substr($date, 0, 10) . '<br>';

// Without 00:00:00
$date = '2003-01-28';
echo substr($date, 0, 10) . '<br>'; 

// With other time part
$date = '2003-01-2812:00:11';
echo substr($date, 0, 10);          
Run Code Online (Sandbox Code Playgroud)