Неожиданная проблема с mktime

micolo

Новичок
Неожиданная проблема с mktime

Доброго времени суток уважаемые знатоки!
Тут столкнулся с неожиданной (в полном смысле этого слова) проблемой.
Объясните пожалуйста почему два идентичных действия дают разные результаты.
Пример 1:

PHP:
$tim="2005-08-08 00:00";$temp=(int)substr($tim, 0, 4);  $temp1=substr($tim, 5, 2);  $temp2=substr($tim, 8, 2);  $temp3=substr($tim, 11, 2); $temp4=substr($tim, 14, 2); print mktime($temp3, $temp4, 0, $temp1, $temp2, $temp);
Пример 2:
PHP:
print mktime(00,00,0,08,08,2005);
Где здесь баг?
 

Necromant

Новичок
PHP:
preg_match("/(\d+)-(\d+)-(\d+) (\d+)\: (\d+)/si", $str, $a);
print_r($a);
безщ пробела после : , форум коверкает
 

micolo

Новичок
Дело в том что я попросил моего знакомого программера проверить - у него тоже самое хотя код правильный!
 

WMix

герр M:)ller
Партнер клуба
у меня тож разные значения!! .... сам понять немогу
 

SiMM

Новичок
> Дело в том что я попросил моего знакомого программера проверить - у него тоже самое хотя код правильный!
Ну и что? Это не отменяет обязательного прочтения ссылки Torа. А по теме - [m]language.types.integer[/m]
PS: код наверно можно было и по человечески оформить, да?
 

Sergikus

Guest
Дело в том, что правильный формат

mktime(0,0,0, 8,8,2005);

Когда ты формируешь все через переменные, тип (int) убивает лишние нули.
 

tony2001

TeaM PHPClub
никогда не слышали про восьмеричную систему исчисления и восьмеричные числа?
 

WMix

герр M:)ller
Партнер клуба
и всёравно
print mktime(00,00,0,08,08,2005);
чем 00 не интегер?
 

SiMM

Новичок
> Когда ты формируешь все через переменные, тип (int) убивает лишние нули.
Для тех, кто в танке. Иначе чувствую топик разрастётся до неимоверных размеров. Понабежит масса шаманов и колдунов.
PHP:
var_dump(08);
Пытливые умы могут догадаться сходить по ссылке и предположить причину.
 

WMix

герр M:)ller
Партнер клуба
все понял
$a = 0123; // Oktalzahl (entspricht 83 dezimal) прикольно !!!
 

Sergikus

Guest
mktime(00,00,0,8,8,2005);

Вот так нужно.

выведи print 08; и посмотри что получается.
 

micolo

Новичок
получается что каждый раз надо отрубать ноли, мда.........
Неисповедимы пути программиста!
 
Сверху