![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Гость_MAN |
|
|||
|
Unregistered |
В БД храняться какието числа например: 01-05-2004 (вот такю строку вважу в БД). Потом делаю запрос и создаю массив с различными датами. Почему при выводе этого массива с датами делаеться непонятно что. Например 2041-05-10.Что надо сделать что б эти датыв массиве хранились нормально.
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Вообше-то поле DATE хранит информацию в формате YYYY-MM-DD. Так что вы вносите данные неправильно...
Вообще я всегда был сторонником использования Unix Time и выделения под него INT(14). |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Mal Hack
INT 11 знаков максимум -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Гость_MAN |
|
|||
|
Unregistered |
Но это же неудобно заполнять таблицу задом наперёд
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Song я говорил про INT(14) туда у меня все влезало...
Стандарт придумывали не мы |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
Вообще-то есть тип в mySQL стандартный Timespan, а дату средствами mySQL можно преобразовать в любой вид: DATE_FORMAT
|
|||
|
||||
| penizillin |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 10.11.2004 Репутация: 8 Всего: 9 |
||||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
Имено, у меня с граматикой во всех языках крайне плохо
|
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Помогите, читаю и не понимаю (я ещё в этом .... в общем малыш)
Я получаю дату (дд.мм.гггг) и чтобы впихнуть её в поле MySQL DATE мне нужно дд.мм.гггг переделать в гггг.мм.дд. Так? Это сообщение отредактировал(а) Red Dragon - 20.11.2004, 21:01 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Red Dragon
Если ты ее получаешь от пользователя - да, тебе нужно ее переделать... Сначала explode'ом разбиваешь по точкам, затем соединяешь: $date[2] . "-" . $date[1] . "-" . $date[0]. В формате MySQL там дефисы надо ставить. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
А конвертора ни какого нет?
А обязательно "-" разделять, я пробывал "/", тоже получалось.. -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Там две строчки всего
Не пробовал... |
||||
|
|||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
Конвертер:
implode('-',array_reverse(explode('-',$string))); Насколько помню для mysql всёрано какой разделитель, главное не цифра. |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
вообще мускул должен понимать разные форматы, но вот на деле это не так.
Я из Дельфи к нему обращаюсь, мне приходится делать так:
-------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Гость_Nikola |
|
|||
|
Unregistered |
А пробывал вобще не разделять? Я заношу даты в БД в формате 'yyyymmdd' - тоже получается... |
|||
|
||||
| Архей |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 24.11.2004 Репутация: -1 Всего: нет |
Народ, позвольте внести ясность! При записи в базу никакие разделители нафиг не нужны, пишете все цифры слитно, а система сама отщипет сначала 4 цифры затем по две и вставит их как надо, в базе будет храниться через дефис, если не хочется пользоваться таким неудлбным форматом, определи тип VARCHAR и вписываю свою стандартную дату как ты пожелаешь, вот и проблем не будет.
|
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Хороший совет, учитываю что если нам потом понадобиться поменять формат, в итоге изменять придется всю базу. Как я вижу самый простой вариант, это использовать поле varchar(10) и записывать туда timestamp времени полученный с помощью ф-ции time(), а при выборке формировать дату с помощью MySQL функции from_unixtime(timestamp, "%d/%m/%Y %H:%i"). Добавлено @ 14:52 Архей, я конечно понимаю что ты хочешь людям помочь, но не стоит дублировать ответы, для начала посмотри не написал ни кто до тебя то что ты хочешь сказать. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
IZ@TOP А почему бы не хранить в БД timestamp?
|
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Secandr, незнаю. Наверное дело привычки.
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
timestamp в отличии от varchar жрёт меньше места, при изменении в базе время остаётся не изменым, нужно только менять формат в запросе.
|
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Secandr, дык я и говорю что я юзаю таймстамп в связке c from_unixtime. Так что фармат я менять могу как мне надо ;)
Добавлено @ 20:26 Просто тип поля юзаю не timestamp а varchar. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Gannibal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 742 Регистрация: 15.4.2003 Где: 010101 Репутация: нет Всего: 17 |
я понял тема о преобразовании дат здесь так я и непонял как из MySQL обычного имя поля datum формата date преобразовать нормально в обычную дату в виде 14.01.1985 например если же в MySQL записываеться 1985-01-14
вот так вот?
Это сообщение отредактировал(а) M.E.G.U.S - 26.7.2005, 16:48 -------------------- Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить! |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |