Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > разбор строки


Автор: alligator 16.1.2014, 09:46
Добрый день, подскажите пожалуйста как сделать лучше разбор строки с датой:
изначально вид такой:
Код

$date='41100151520261';
$dtmp=str_split($date, 2);
$d_number='';
foreach ($dtmp as $dpart) {
            $d_reverse = strrev($dpart);
            $d_number.=$d_reverse;
        }
$x=substr($d_number, 0, strlen($d_number)-2);

уже видна более понятная дата и время:
140110152520, хочу получить такой вид: 10-01-14 15:25:20

возможно ли сделать с помощью регулярки например?

Автор: krypt3r 16.1.2014, 12:01
Можно и без регулярок, типа:
Код

$p = strptime ('140110152520', '%y%m%d%H%M%S');
$time = mktime ($p['tm_hour'], $p['tm_min'], $p['tm_sec'], $p['tm_mon'] + 1, $p['tm_mday'], $p['tm_year'] + 1900);
echo date ('d-m-y H:i:s', $time), "\n";

Откуда у вас дата в таком странном формате?

Автор: alligator 16.1.2014, 13:18
дата в таком формате зашифрована в SMS PDU (dectimal semi-octet)

Добавлено @ 13:29
Цитата(krypt3r @ 16.1.2014,  13:01)
Можно и без регулярок, типа:
Код

$p = strptime ('140110152520', '%y%m%d%H%M%S');
$time = mktime ($p['tm_hour'], $p['tm_min'], $p['tm_sec'], $p['tm_mon'] + 1, $p['tm_mday'], $p['tm_year'] + 1900);
echo date ('d-m-y H:i:s', $time), "\n";

Откуда у вас дата в таком странном формате?

Благодарю, все отлично работает =)!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)