在php中更改日期时间格式

时间:2013-08-13 10:20:41

标签: php

这是格式

'd-m-Y H:i:s'(15-11-2008  7:16:09)

我想换成这种格式

'Y-m-d H:i:s' (2008-11-15 07:16:09)

尝试了strtotime()函数,但它将'm'视为'd',将'd'视为'm' 救命!新的PHP ..

当前代码`

$dt = strtotime($this->input->post('insert_dts'));
$formated_date_time = date("Y-m-d H:i:s",$dt);`

4 个答案:

答案 0 :(得分:1)

就像@middaparka在评论中所说,请使用DateTime::createFromFormat

$date = DateTime::createFromFormat('d-m-Y H:i:s', '15-11-2008 7:16:09');
echo $date->format('Y-m-d H:i:s'); // output is: 2008-11-15 07:16:09

答案 1 :(得分:0)

试试这个

$str = date('d-m-Y H:i:s',strtotime('15-11-2008  7:16:09'));
echo date('Y-m-d H:i:s',strtotime($str));

答案 2 :(得分:0)

我一直在我的基类中使用这两种方法......

protected static function Now() {
    return date_create(date('Y-m-d H:i:s')) ;
}

protected static function NowStr() {
    return date_format(self::Now(), "Y-m-d H:i:s");    
}

请告诉我这些是否适合您: - )

答案 3 :(得分:0)

根据您的代码:

$dt = strtotime('15-11-2008 7:16:09');
echo $formated_date_time = date("Y-m-d H:i:s",$dt);

输出:

2008-11-15 07:16:09