Разбить строку без использования разделителя - PullRequest
1 голос
/ 12 декабря 2011

У меня есть программа, которая генерирует данные и вместе с этими данными включает дату в формате

20111212

(Это будет сегодняшняя дата [12-12-2011]). Есть ли способ разбить это на четыре сегмента, как

2011
12
12

так что я могу поставить - между этими числами. Моя конечная цель - иметь дату в форме ДД-ММГГГГ.
Спасибо за вашу помощь!

Ответы [ 3 ]

6 голосов
/ 12 декабря 2011

Нет необходимости «взрывать» строку. Для этого вы можете использовать функцию strtotime(). Это "[p] задница о любом текстовом описании даты и времени на английском языке в метку времени Unix" . Затем вы можете передать эту метку времени в функцию date(), чтобы форматировать дату любым удобным для вас способом.

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

echo date('d-m-Y', $timestamp);
3 голосов
/ 12 декабря 2011

Если ваш формат всегда ГГГГММДД, сначала выберите 4 цифры в качестве года, затем 2 цифры в качестве месяца и в последнюю 2 цифры в качестве даты.см. функцию подстроки для php в Google.

2 голосов
/ 12 декабря 2011
$date = preg_replace('(\d{4})(\d{2})(\d{2})', '$1-$2-$3', $date);

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...