|
|
|
| помогите развернуть дату
у меня она 05-09-2008
а надо
2008-09-05 | |
|
|
|
|
|
|
|
для: dirol
(09.12.2008 в 09:57)
| | explode, array_reverse, implode
Нет? | |
|
|
|
|
|
|
|
для: dirol
(09.12.2008 в 09:57)
| | или так
<?
$d='05-09-2008';
echo ($x = preg_replace('#^(\d+)-(\d+)-(\d+)$#', '$3-$2-$1', $d)) . "\n";
######### или #########
$d = unpack("A2d/x/A2m/x/A4y", $d);
// print_r($d);
echo $d['y'] .'-' . $d['m'] .'-' . $d['d'];
######### или .......................?>
|
| |
|
|
|
|
|
|
|
для: dirol
(09.12.2008 в 09:57)
| | <?php
sscanf('05-09-2008', '%d-%d-%d', $d, $m, $y);
echo $y, '-', $m, '-', $d;
?>
Нет, я выпендрицо решил.
| |
|
|
|
|
|
|
|
для: BinLaden
(09.12.2008 в 20:13)
| | как раз так-же хотел написать ;)
но что-то заинтересовало как-же unpack использовать,
и ещё есть какие-то функции для работой с датой, вспомню, напишу
// надо попробовать использовать зачёркнутый шрифт :) | |
|
|
|
|
|
|
|
для: xx77
(09.12.2008 в 20:38)
| | >и ещё есть какие-то функции для работой с датой, вспомню, напишу
date,time,mktime,strtotime | |
|
|
|
|
|
|
|
для: dirol
(09.12.2008 в 09:57)
| | Вообщем варианты такие, через РГ:
<?php
$d='05-09-2008';
echo preg_replace('#^(\d{1,2})-(\d{1,2})-(\d{4})$#', '$3-$2-$1', $d);
?>
| Или:
<?php
$d=explode("-",$d);
$d=array_reverse($d);
$d=implode("-",$d);
echo $d;
?>
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(09.12.2008 в 21:40)
| | попробовал сравнить по скорости ,
как всегда не очень аккуратно :)
<?
list($m, $time) = sscanf(microtime(), '%f %u');
$time += $m;
$date = '01-02-2008';
$i=0;
$str = '';
?><textarea><?
while(($i+=1)< 20000) {
/*
echo $str = implode('', unpack('x6/A4a/X8/A4b/X6/A2c', $date));
# */
/*
echo $str = preg_replace('#^(\d+)-(\d+)-(\d+)#', '$3-$2-$1', $date);
# */
# /*
echo $str = implode('-', array_reverse( explode('-', $date)));
# */
/*
list($d, $m, $y) = sscanf($date, '%2c-%2c-%4c');
echo $str = $y .'-' . $m .'-' . $d;
# */
}
?></textarea><?
list($m, $tempt) = sscanf(microtime(), '%f %u');
printf ("%.7f\r\n\r\n", (($tempt += $m) - $time) );
?>
|
думаю конкретно с таким случаем быстрее что-то одно из двух
, со sscanf()
, или с array_reverse() | |
|
|
|
|
|
|
|
для: xx77
(10.12.2008 в 13:49)
| | Строковые функции работают быстрее и если есть возможность по задаче применить их, то желательно пользоваться ими.
P.S. А время выполнения РГ не пробовали? В данном случае загруженности нет.
И думаю время обработки, не превысится. | |
|
|
|
|
|
|
|
для: AcidTrash
(10.12.2008 в 21:47)
| | to xx77:
вообще-то есть еще
$date = substr($date, 6, 4).substr($date, 2, 4).substr($date, 0, 2);
|
А бенчмарки надо писать так, чтобы накладные расходы на цикл не влияли на результат. | |
|
|
|