1

如何将以下日期转换为 DateTime 格式:

2013-02-21-12:25:13

日期是这样传递给我们的,在日期和时间之间应该有一个空格。

如何将其转换为 DateTime 格式?mySQL 会自动执行此操作,但我想使用 PHP 执行此操作。

我们正在寻找以下输出:

Y-m-d H:i:s
4

9 回答 9

9
$date = DateTime::createFromFormat( 'Y-m-d-H:i:s', '2013-02-21-12:25:13');
echo $date->format( 'Y-m-d H:i:s');

是的,这是经过测试并证明有效的。它输出:

2013-02-21 12:25:13 
于 2013-02-27T04:58:29.303 回答
0

使用strtotime对您有帮助的 php 函数。

例子

echo date("Y-m-d H:i:s",strtotime(YOUR_DATE_STRING));
于 2013-02-27T04:48:05.153 回答
0

试试下面的代码

$old_date = '2013-02-21-12:25:13';
$new_date = date("Y-m-d H:i:s",$old_date);
echo $new_date;

在一行中

echo date("Y-m-d H:i:s",'2013-02-21-12:25:13');
于 2013-02-27T04:48:08.727 回答
0

试试这个:

  $date = '2013-02-21-12:25:13';
  $new_date = date('Y-m-d H:i:s', $date); 
  echo $new_date;
于 2013-02-27T04:50:29.643 回答
0
$my_date = '2013-02-21-12:25:13';

$new_date = date("Y-m-d H:i:s", strtotime($my_date));

echo $new_date;
于 2013-02-27T04:51:03.620 回答
0

试试这个:

$date = "2013-02-21-12:25:13";
$d = explode('-', $date);

$date=$d[0].'-'.$d[1].'-'.$d[2].' '.$d[3];
echo date("Y-m-d H:i:s", strtotime($date));

o/p:

2013-02-21 12:25:13

希望它会有所帮助!

于 2013-02-27T04:54:38.983 回答
0
$date = '2013-02-21-12:25:13';
$curdate = DateTime::createFromFormat('Y-m-d-H:i:s', $date);
echo $curdate->format('Y-m-d H:i:s');
于 2013-02-27T04:55:08.487 回答
0

非标准日期格式?尝试正则表达式摆脱混乱:

$string = "2013-02-21-12:25:13";
$date = date("Y-m-d H:i:s",
    strtotime(preg_replace("/(?:\d+-\d+-\d+)-{1}/","",$string))
);
于 2013-02-27T04:56:38.467 回答
0

试试这个

$date = '2013-02-21-12:25:13';
echo substr_replace($date,' ',10,1);
于 2013-02-27T04:58:24.640 回答