使用'yyyy-mm-05 hh:ii:ss'替换'yyyy-mm-dd:ii:ss'格式的最短路径?

时间:2012-06-08 16:13:01

标签: php date time

'yyyy-mm-dd hh:ii:ss'格式的日期替换为'yyyy-mm-05 hh:ii:ss'的最短途径是什么?

我需要更改日期天数,而不是从日期开始减去几天。

谢谢。

4 个答案:

答案 0 :(得分:5)

$date = '2012-06-08 11:15:00';
echo date('Y-m-05 H:i:s', strtotime($date)); // 2012-06-05 23:15:00

答案 1 :(得分:4)

你可以选择:

$dt = new DateTime('2012-06-08 12:00:00');
$dt->setDate($dt->format('Y'), $dt->format('m'), 5);
echo $dt->format('Y-m-d H:i:s');

也许不是最短的,但它是一个可靠的方法

答案 2 :(得分:2)

使用最短路的regexp

同意@DaveRandom。这是最短的方式

preg_replace('/-\d{2} /','-05 ',$str)

答案 3 :(得分:0)

最有效的方法(不是最好的方法)是使用substr_replace()函数。

$input = '2012-06-08 11:15:00';
$output = substr_replace($input, '05', 8, 2);
echo($output);