首页 > 解决方案 > 如何将包含这种格式的日期和时间的时间戳字符串转换为 PHP DateTime 格式?

问题描述

我有一个时间戳字符串,其中包含日期和时间,格式如下:

$time == "Apr  3, 2015 16:58:46.461897000";

我需要将其转换为DateTimePHP 中的对象,以便可以对其执行进一步的操作。

因为这种格式不在支持的格式列表中

所以问题是我怎样才能达到我所需要的?

我的意思是给定的字符串包含格式为Month-short-name Date, Year Hours:Minutes:seconds的日期和时间。我需要将此字符串转换为PHP DateTime 对象。

标签: phpdatetime

解决方案


如果您可以安全地删除纳秒,那么您可以使用随机字节 格式代码来解释额外的数字:

$input = 'Apr  3, 2015 16:58:46.461897000';
$output = DateTime::createFromFormat('M j, Y G:i:s.u???', $input);
var_dump($input, $output);
string(31) "Apr  3, 2015 16:58:46.461897000"
object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "2015-04-03 16:58:46.461897"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(13) "Europe/Madrid"
}

推荐阅读