不使用分隔符爆炸字符串

时间:2011-12-12 12:53:40

标签: php string

我有一个程序可以对数据进行生成,并且该数据包含格式为

的日期
20111212

(那将是今天的日期[12-12-2011])。有没有办法将其分解为像

这样的四个部分
2011
12
12

所以我可以在这些数字之间添加-。 我的最终目标是以DD-MMY-YYY的形式出现日期 谢谢你的帮助!

3 个答案:

答案 0 :(得分:6)

没有必要“爆炸”字符串。您可以使用函数strtotime()。它将“[p]关于任何英文文本日期时间描述到Unix时间戳”。然后,您可以将此时间戳传递给函数date(),以便以任何方式格式化日期。

$date = '20111212';
$timestamp = strtotime($date);

echo date('d-m-Y', $timestamp);

答案 1 :(得分:3)

如果您的格式始终是YYYYMMDD,则首先取4位数作为年份,然后将2位数作为月份,最后取2位数作为日期。在google中查看php的子字符串函数。

答案 2 :(得分:2)

$date = preg_replace('(\d{4})(\d{2})(\d{2})', '$1-$2-$3', $date);

http://php.net/manual/en/function.preg-replace.php