[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Перевод unix-даты в нужный формат
Страницы: 1, 2
Юрий Шу
У меня есть переменная массива $arr['9'], в которой записано unix-время.
Не могу понять, как перевести это время в, скажем, формат «месяц, число месяца».

Подскажите пожалуйста.

P.S. Понимаю, что вопрос элементарный, но что-то в мануале не нашел этого.
REANIMATOR
функция date();

пример
PHP
date("Y/m/d",$arr['9']);
REANIMATOR
тут таблица форматов которые можно вставлять
FatCat
Сговорились?
http://phpforum.ru/index.php?showtopic=15726&hl=

_____________
Бесплатному сыру в дырки не заглядывают...
Юрий Шу
REANIMATOR, пишу
PHP
print date("Y/m/d",$arr[9]);

В итоге:
PHP
Warning: date() expects parameter 2 to be long, string given in C:phpdesigner_output_tmp.
REANIMATOR
а что выводит print($arr[9]) ?
Юрий Шу
Цитата (REANIMATOR @ 4.02.2009 - 09:52)
а что выводит print($arr[9])  ?

1233222774

А если сделать так, то возращает нужный вариант:
PHP
print date("Y/m/d",1233222774);

REANIMATOR
странно... попробуй сделать кастинг print date("Y/m/d",(int)$arr[9]);
Юрий Шу
Цитата (REANIMATOR @ 4.02.2009 - 10:07)
странно... попробуй сделать кастинг print date("Y/m/d",(int)$arr[9]);

Ответ — 1970/01/01

Может как-то влияет тот факт, что итоговый массив я получаю с помощью функции file?
REANIMATOR
так результат верен или нет?
вообще ошибка говорит о том что $arr[9] содержит стринг а не число... возможно там есть пробел или чтото подобное
Юрий Шу
Цитата (REANIMATOR @ 4.02.2009 - 10:26)
так результат верен или нет?
вообще ошибка говорит о том что $arr[9] содержит стринг а не число... возможно там есть пробел или чтото подобное

Ну вообще нет, результат не верен. Правильный результат 29 января 2009.
Просто $arr[9] это переменная массива, полученная при считывании xml-файла.
REANIMATOR
что выводит echo gettype($arr[9]);
Юрий Шу
Цитата (REANIMATOR @ 4.02.2009 - 10:35)
что выводит echo gettype($arr[9]);

string

Как перевести в численный формат? Int не работает.

Вот такой код выводит «integer1970/01/01string»
PHP
$date = (int)($arr[9]);
echo 
gettype($date);
print 
date("Y/m/d",(int)($arr[9]));
echo 
gettype($arr[9]);

А должен выводить «integer2009/01/29string».
REANIMATOR
Цитата
Как перевести в численный формат?

попробуй
PHP
$temp 0+$arr[9];
date("Y/m/d",$temp);
Юрий Шу
Цитата (REANIMATOR @ 4.02.2009 - 10:42)
Цитата
Как перевести в численный формат?

попробуй
PHP
$temp = 0+$arr[9];
date("Y/m/d",$temp);

Выдает 1970/01/01 ph34r.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.