![]() |
|
Модераторы: skyboy |
![]()
|
|
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: нет Всего: 22 |
на форумах, подобных данному, даты и время сообщений хранятся в полях MySql-таблиц, будучи объявленными, как int (11). кто-нить знает, как оттуда получить осмысленное значение? нужен именно алгоритм, а не какая-то функция движка. или хотя бы иходник такой функции.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 6 Всего: 39 |
x77 Насколько помню есть MAKE_DATE, если мне память не изменяет.
|
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: нет Всего: 22 |
Secandr, я догадываюсь, что какая-то функция есть, иначе непонятно, а как, например, здесь выводится время и дата. в том-то и заключается вопрос: а как она (эта функция) работает? мне надо сделать тоже самое не в пхп, а в сторонней программе, которая получает данные из базы в сыром виде.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 6 Всего: 39 |
x77 RTFM
Я вот так люлблю дату выводить:
Только open здель не int, а DATETIME. |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: нет Всего: 22 |
Secandr, при чём здесь RTFM??
во-первых, меня не хотелось бы прописывать конвертацию в самом запросе. это крайний случай. во-вторых, даже если делать это так... ты вообще читаешь, что я пишу? в MySql поддерживается три типа дат, кроме этого можно хранить её в обычном текстовом виде. но кому-то этого показалось мало, и они воткнули собственный формат, объявленный как int (11). отдалённо он смахивает на TimeStamp, но это не он, потому что конвертация чушь выдаёт полную. если только у нас на дворе не 3048 год. если ты мне процитируешь RTFM, где описаны шаманские блудни разработчиков движка phpBB, я тебе буду очень благодарен. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 6 Всего: 39 |
x77 Тогда давай пример твоего "особого" формата времени. Будем смотреть.
|
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: нет Всего: 22 |
например, 1075992654 соответствует Thu Feb 05, 2004 2:45 pm, т.е. 05.02.2004 02:45. значения идут инкрементально, т.е поздняя дата соответствует большему значению. мне кажется, что дата хранится как кол-во дней, прошедших с определённого дня какого-то года, а время - как кол-во секунд с 0. но выделить то или другое у меня не вышло. я пробовал преобразовывать не только к TimeStamp, но и к FileDate (формат DOS), и к SYSTEMTYME (формат виндовой API) и к своему родному дельфийскому TDateTime. ничего осмысленного не получил.
собственно, если ты модер, то открой любую таблицу на этом форуме, типа phpbb_topics, и ты увидишь там поле topic_time, объявленное как int (11). это именно оно и есть. в самих топиках движок всё выводит корректно. в пхп я отнюдь не гуру, и в открытых сорсах движка ничего путного я не нашёл. какие будут мысли? -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| __vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
Как int(11) ??
У меня в таблицах всё хранится как тип дата только забыл как точно тип называется, но вроде date или что-то вроде. |
|||
|
||||
| __vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
Ага, вот, datetime
|
|||
|
||||
| __vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
1075992654 - так это разве не количество секунд после определённой даты (типа 1978.1.1 00:00:00)?
|
|||
|
||||
| x77 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: нет Всего: 22 |
__vi
у тебя что, тоже форум на движке phpBB 2.0.6? и там у тебя дата хранится как datetime? ты путаешь что-то.
похоже. но высчитать по этому принципу дату и время у меня не вышло. видимо, туп, аки бенгальская лошадь. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
||||
|
|||||
| __vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
||||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: нет Всего: 22 |
а что могло получится?
ещё раз. я работаю в дельфях. делаю запрос к базе. получаю ответ. он содержит даты в этом грёбанном формате. пхп и всё остальное вообще не при чём. конвертить дату в самом запросе я не хочу, и для этого есть очень веские причины. проблема состоит в том, чтобы программными средствами расшифровать значение, которое лежит в таблице. т.е. мне не нужна функция, которая выполняет эту конвертацию в пхп, мне нужен алгоритм её работы. или исходник на любом языке: паскале, си, ассемблере, без разницы. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| __vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
Ок, сори, ща найду откуда идет отсчёт
|
|||
|
||||
| __vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
Отчёт идёт с 1 января 1970 года
А MySQL поддерживает такое FROM_UNIXTIME(unix_timestamp,format) mysql> SELECT FROM_UNIXTIME(875996580); -> '1997-10-04 22:23:00' Т.е. прямо в запросе можно всё уладить. http://www.mysql.com/doc/en/Date_and_time_..._functions.html Это сообщение отредактировал(а) __vi - 11.2.2004, 19:15 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |