Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Корректная дата в формате TIMESTAMP 
V
    Опции темы
barcelona
Дата 8.7.2008, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.4.2007

Репутация: нет
Всего: нет



Здравствуйте!
Ответьте пожалуйста, как проверить, является ли число корректной датой в формате TIMESTAMP?
Заранее спасибо.
PM MAIL   Вверх
Feldmarschall
Дата 8.7.2008, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



Очень просто. Любая.
PM   Вверх
barcelona
Дата 8.7.2008, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.4.2007

Репутация: нет
Всего: нет



Но какое-нибудь гигантское число с 20-ю нулями не является корректной датой. 
PM MAIL   Вверх
Feldmarschall
Дата 8.7.2008, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



Почему?
PM   Вверх
Mal Hack
Дата 8.7.2008, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 16
Всего: 261



Цитата(Feldmarschall @  8.7.2008,  09:05 Найти цитируемый пост)
Очень просто. Любая. 

Учим матчасть (с)...

По делу. Ограничения:
1. По типу данных int - 2-4 байта в зависимости от систем.
2. (The Unix Epoch, 1 января 1970, 00:00:00 GMT) до текущего времени.
PM ICQ   Вверх
Feldmarschall
Дата 8.7.2008, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



Жесть. Ответ лучше вопроса.
Mal Hack, 2-4 байта? И каков же будет сейчас таймстамп в 2-байтном представлении?
Что значит "до текущего времени"? А завтрашний день будет уже некорректной датой?

PM   Вверх
Sannis
Дата 8.7.2008, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: 1
Всего: 13



Цитата(Feldmarschall @  8.7.2008,  09:38 Найти цитируемый пост)
Что значит "до текущего времени"? А завтрашний день будет уже некорректной датой?

Пункт 2 думаю подразумевал, что должно быть использованы только unsigned числа, по крайней мере в unixtimestamp, могу ошибаться. В PHP конечно не стоит думать о рамере этого числа и брать любые даты в будущем, но если думать о совместимости с каким-то другим софтом/языками, то лучше ограничивать диапазон значений.

barcelona, ясное дело, что гигантское число не будет. Но даже если определять корректность простым сравнением в максимальным возможным значением, то это врядли вам сильно поможет. Наверняка есть более узкие рамки, зависящие от специфики приложеня и от текущего времени, которые нужно считать валидными, лучше исходить из таких соображений.

Это сообщение отредактировал(а) Sannis - 8.7.2008, 09:46


--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
Mal Hack
Дата 8.7.2008, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 16
Всего: 261



Цитата(Feldmarschall @  8.7.2008,  09:38 Найти цитируемый пост)
Жесть. Ответ лучше вопроса.

Следите пожайлуста за своим хамским тоном. Я с вами в одном окопе не сидел  за одним компом прогу не набивал...

Цитата(Feldmarschall @  8.7.2008,  09:38 Найти цитируемый пост)
2-4 байта? И каков же будет сейчас таймстамп в 2-байтном представлении?

Как уже сказали выше unsigned, эт о раз, два, C++, на котором основан PHP с точки зрения раелизации подразумевает наличие short int и long int, в следствии чего величина памяти может варьирваться в зависимости от системы. Учите матчасть ()

Цитата(Feldmarschall @  8.7.2008,  09:38 Найти цитируемый пост)
Что значит "до текущего времени"? А завтрашний день будет уже некорректной датой?

Извините, копировал текст с мануала по time не удалил окончание фразы ;)
PM ICQ   Вверх
Feldmarschall
Дата 8.7.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



Цитата(Mal Hack @  8.7.2008,  09:48 Найти цитируемый пост)
C++, на котором основан PHP с точки зрения раелизации подразумевает наличие short int и long int

Мы говорили не о С++, а о timestamp. В С++ есть и byte. И что? Какое это имеет отношение к unixtime?

Цитата(Mal Hack @  8.7.2008,  09:48 Найти цитируемый пост)
Как уже сказали выше unsigned, 

И что? Можно подробнее? unsigned, ок. и какая связь с двумя байтами?

Это сообщение отредактировал(а) Feldmarschall - 8.7.2008, 10:03
PM   Вверх
Mal Hack
Дата 8.7.2008, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 16
Всего: 261



Цитата(Feldmarschall @  8.7.2008,  10:01 Найти цитируемый пост)
Мы говорили не о С++, а о timestamp. В С++ есть и byte. И что? Какое это имеет отношение к unixtime?

учите матчасть, типа byte в си нету, есть байтовый char.
И говорили мы о том, что тайстамп представляется в int в php, а уже при интерпретации идет в сишный int... Далее см. выше.

Цитата(Feldmarschall @  8.7.2008,  10:01 Найти цитируемый пост)
И что? Можно подробнее? unsigned, ок. и какая связь с двумя байтами?

Это к слову о том, что хранение метки времени осуществляется в переменной с модификатором unsigned, что увеличивает максимально-допустимое значение, в рамках одного объема памяти.
PM ICQ   Вверх
Feldmarschall
Дата 8.7.2008, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



Цитата(Mal Hack @  8.7.2008,  10:09 Найти цитируемый пост)
учите матчасть, типа byte в си нету, есть байтовый char.

Хорошо. Нету.
Ты от вопроса-то не уходи =)
рассказывай про двухбайтный таймстамп =)

Цитата(Mal Hack @  8.7.2008,  10:09 Найти цитируемый пост)
при интерпретации идет в сишный int

отлично, в инт. при чем здесь short, о котором ты писал ранее?

Цитата(Mal Hack @  8.7.2008,  10:09 Найти цитируемый пост)
Это к слову о том, что хранение метки времени осуществляется в переменной с модификатором unsigned, что увеличивает максимально-допустимое значение, в рамках одного объема памяти. 

Окей, осуществляется. При чем здесь два байта?
PM   Вверх
Mal Hack
Дата 8.7.2008, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 16
Всего: 261



Цитата(Feldmarschall @  8.7.2008,  10:14 Найти цитируемый пост)
рассказывай про двухбайтный таймстамп =)

Таймстамп двухбайтным не бывает, он хранитс в четырехбайтной переменной. (прошу прощения за ранее допущенную оговорку)

Цитата(Feldmarschall @  8.7.2008,  10:14 Найти цитируемый пост)
отлично, в инт. при чем здесь short, о котором ты писал ранее?

О том, что в C в зависимости от системы, интерпретация int может быть как short, так и long, а следовательно переменная будет иметь размер 2 или 4 байта, следовательно максимально допустимое значение (вот оно и ограничение) будет либо 65 тыщ с гаком, либо 4 млрд...
PM ICQ   Вверх
Feldmarschall
Дата 8.7.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



Отлично.
в п.1 опечатка, а в п.2 оговорка.
Ну, я пошел учить матчасть, раз такое дело. 

barcelona, если ты сможешь сформулировать более конкретный вопрос, то сможешь получить в награду более конкретный ответ.

Это сообщение отредактировал(а) Feldmarschall - 8.7.2008, 10:27
PM   Вверх
barcelona
Дата 8.7.2008, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.4.2007

Репутация: нет
Всего: нет



Спасибо за столь жаркую и интересную дискуссию. Я в общем-то имел в виду одновременный контроль того. чтобы значение было неотрицательным числом определённой длины. Решил это с помощью регулярного выражения. Всем спасибо.
PM MAIL   Вверх
gta4kv
Дата 8.7.2008, 14:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 1
Всего: 91



[offtopic]
Все темы где одновременно постят Mal Hack и Feldmarschall - можно смело переносить в холливары.  smile 
[/offtopic]

Это сообщение отредактировал(а) gta4kv - 8.7.2008, 14:39
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0624 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.