4

用 替换'yyyy-mm-dd hh:ii:ss'格式中的日期的最短方法是什么'yyyy-mm-05 hh:ii:ss'

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

谢谢你。

4

4 回答 4

5
$date = '2012-06-08 11:15:00';
echo date('Y-m-05 H:i:s', strtotime($date)); // 2012-06-05 23:15:00
于 2012-06-08T16:20:24.280 回答
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');

也许不是最短的,但这是一种可靠的方法

于 2012-06-08T16:18:32.400 回答
2

使用正则表达式,这将是最短的方式

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

preg_replace('/-\d{2} /','-05 ',$str)
于 2012-06-08T16:20:53.507 回答
0

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

$input = '2012-06-08 11:15:00';
$output = substr_replace($input, '05', 8, 2);
echo($output); 
于 2015-03-23T15:16:15.910 回答