Как преобразовать дату в нужный формат

ViTYAi2007

Новичок
Как преобразовать дату в нужный формат

Приветствую всех!

Подскажите, пожалуйста, как преобразовать дату в нужный мне формат?
Читаю дату из БД MS SQL и пытаюсь преобразовать в нужный фомат. Получаю следующее:
PHP:
echo date( 'Y-m-d H:i', $myrow2[0]);
//Результат: 1970-01-01 00:00
Если использовать функцию преобразования строки в дату, то тоже не помогает:
PHP:
echo date( 'Y-m-d H:i', strtotime($myrow2[0]));
//Результат: 1970-01-01 00:00
Если выводить просто дату, как есть, то:
PHP:
echo $myrow2[0];
//Результат: 19 ноя 2009 0:30

И почему PHP по умолчанию выбрал именно такой ("19 ноя 2009 0:30") формат?
 

autosoft

Новичок
Ну тогда:
PHP:
setlocale(LC_ALL, 'ru_RU.CP1251');
$array = strptime($myrow2[0], '%d %b %Y %H:%M');
 

Mols

Новичок
При чем тут вообще ПХП?
Splurov написал четко и ясно - читать функции МССКЛ для работы с датами.
 

autosoft

Новичок
Mols

При чем тут функции МССКЛ для работы с датами ?
Splurov написал четко и ясно - преобразование даты в нужный формат после прочтения из MS SQL.
 

Mols

Новичок
autosoft
Я лично предпочитаю использовать функции СУБД для форматирования даты. чтобы из базы дата уже приходила в требуемом формате.
Судя по линку который дал Splurov - я в этом не одинок.
Соответственно если эту работу может делать СУБД - пхп тут и не нужен.
 

ViTYAi2007

Новичок
$array = strptime($myrow2[0], '%d %b %Y %H:%M');
Ругается:
Fatal error: Call to undefined function strfpime() in W:\home\localhost\www\bla\bla.php on line 252

Версия PHP 5.2.4...

-~{}~ 23.11.09 07:28:

Может нужно у ViTYAi2007 уточнить о чём он спрашивал?
Вообще спрашивал про PHP. Там есть функции для форматирования даты, которые использовал и всё работало правильно. А в данном примере - не работает...
 

Фанат

oncle terrible
Команда форума
Чувак. Эта функция форматирует не "дату". А вполне определенный параметр. Который описан в документации.

Если ей написать date("Йа ВиТАи"), она тебя не поймет.
И даже ("На Николу-мученика в осьмнадцатом годе") - тоже.
Потому что еще не изобрели такого языка программирования, который умеет телепатии. Поэтому приходится передавать функции то, что она ожидает. А не то, что ты себе нафантазировал.
пойди в документацию, прочти, какую дату эта функция форматирует. А потом посмотри, что ты ей передаешь.
 

ViTYAi2007

Новичок
Автор оригинала: *****
пойди в документацию, прочти, какую дату эта функция форматирует. А потом посмотри, что ты ей передаешь.
Я понимаю, что надо передать целое число в качестве второго параметра, а я передаю дату из БД, которая не является целым числом.
А как преобразовать дату из БД в целое число для функции date()?
 

Фанат

oncle terrible
Команда форума
лучше всего сделать это на стороне БД
но если не получается - можно разобрать строку в РНР
это одна из самых банальных операций. которые надо знать на зубок еще до того, как думать начнешь о подключении к базе данных.
к примеру, разбить в массив по пробелу
 

ViTYAi2007

Новичок
Автор оригинала: *****
лучше всего сделать это на стороне БД
Изменить тип поля в самой БД нельзя - она принимается как даность!
но если не получается - можно разобрать строку в РНР
Разбор строки делается функцией explode() - только какой смысл его делать - ведь строка-то останется той же самой!
 

Фанат

oncle terrible
Команда форума
да при чем здесь тип поля? речь не о типе поля, а о формате вывода

строка не останется той же самой. ее можно будет собрать заново. в другом порядке.
 

ViTYAi2007

Новичок
Автор оригинала: *****
да при чем здесь тип поля? речь не о типе поля, а о формате вывода
Понял... Как в SELECT вывести отформатированную дату, не подскажешь?
строка не останется той же самой. ее можно будет собрать заново. в другом порядке.
Я получаю строки:
"19 ноя 2009 00:30"
"20 ноя 2009 00:30"
"21 ноя 2009 00:30"
"22 ноя 2009 00:30"
"23 ноя 2009 00:30"
...
Разбив эти строки функцией explode(), я смогу без проблем выделить год - "2009" и число - "19", "20", "21", "22", "23" итд.
Как быть с месяцем???
 

Фанат

oncle terrible
Команда форума
я не знаю, как форматируют дату в ms. наверняка написано в документации.
но тебе сказали это сделать еще в первом посте. а ты понял это только сейчас.

с месяцем поступить очень просто. например сделать массив.
помнится, на башорге очень удачной считалась шутка "А вы используете месяц Нулябрь?"
 

Mols

Новичок
Автор оригинала: ViTYAi2007
Понял... Как в SELECT вывести отформатированную дату, не подскажешь?
Ну талантище блин.
Найти документацию по используемой СУБД нельзя? И посмотреть какими функциями там форматируется дата. Splurov первым же ответом дал всю необходимую информацию. Уже и разжевали и в рот положили. Ну хоть попробуйте а? Раз уж берётесь работать с БД ну почитайте чуток как с ней работать.
 
Сверху