PHP在多个字符串处插入字符

Ali*_*ori 2 php

我有一个从数据库发送的字符串,我想把它变成一个日期/时间字符串.源字符串是:

20110524153631
Run Code Online (Sandbox Code Playgroud)

我希望它是:

2011-05-24 15:36:31
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用多个插入,但我想知道是否有更简单的方法来执行此操作.我怎么能得到这个?

sal*_*the 8

在PHP 5.3中,您可以使用该DateTime::createFromFormat()方法(或其date_create_from_format()别名).

echo DateTime::createFromFormat(
    'YmdHis',
    '20110524153631'
)->format('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)

对于早期版本(为什么?),您可以使用任何数量无聊或奇特的方式来使用字符串.

vprintf("%s-%s-%s %s:%s:%s", sscanf("20110524153631", "%4s%2s%2s%2s%2s%2s"));
Run Code Online (Sandbox Code Playgroud)