Русское сообщество по скриптингу

Работа с таймером, датой

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Работа с таймером, датой

Сообщение di.alyabev » 13 мар 2017, 09:28

Утро доброе, направте как лучше сделать, спасибо)
В общем в базе на каждого игрока имеется дата когда он последний раз был на сайте в виде: 2017/03/10 15:39:10. Я хочу сверить эту дату с сегоднишним числом , и проверить больше ли 2х дней назад посещал ресурс, как лучше сделать или можт готовый вариант есть уже? из базы получить данные и записать в переменную я сам, меня интересует сам процесс сверки даты, именно как лучше сделать , спасибо
Аватара пользователя
di.alyabev
 
Сообщения: 200
Зарегистрирован: 15 ноя 2012, 15:58
Забанен
Благодарил (а): 24 раз.
Поблагодарили: 109 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Работа с таймером, датой

Сообщение Subb98 » 13 мар 2017, 09:45

1. При помощи SQL запроса (или любым другим способом) преобразовывать дату в unix-timestamp (значение в секундах с 1 января 1970-го года) и получать разницу между этими числами.

2. При помощи SQL запроса получать разницу между датами:

«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Работа с таймером, датой

Сообщение di.alyabev » 13 мар 2017, 18:38

Subb98, помоги разобраться, заитересовал 1й способ, нашел сток Вы должны зарегистрироваться, чтобы видеть ссылки. , но не пойму что к чему.

Если кому не трудно можете ктот другой помочь, спасибо
Аватара пользователя
di.alyabev
 
Сообщения: 200
Зарегистрирован: 15 ноя 2012, 15:58
Забанен
Благодарил (а): 24 раз.
Поблагодарили: 109 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Работа с таймером, датой

Сообщение NEoMASTERR » 13 мар 2017, 18:47

Дату надо (лучше) хранить в секундах (unixtime) для вычислений и тд, а выводить в отформатированном виде. Хотя в mysql она вроде и так хранится в секундах. Считаете разницу между текущей датой в секундах и той которая в базе. 2 дня это 172800 секунд.
Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Работа с таймером, датой

Сообщение Subb98 » 13 мар 2017, 18:53

NEoMASTERR писал(а):Дату надо (лучше) хранить в секундах (unixtime) для вычислений и тд, а выводить в отформатированном виде.

Постоянные преобразования - не есть гуд. Можно ещё хранить одно и то же значение в разных форматах.

NEoMASTERR писал(а):Хотя в mysql она вроде и так хранится в секундах.

В соответствии с типом столбца.

Добавлено спустя 1 минуту 28 секунд:
di.alyabev писал(а):Subb98, помоги разобраться, заинтересовал 1й способ, нашел сток Вы должны зарегистрироваться, чтобы видеть ссылки. , но не пойму что к чему.

Что именно непонятно? И да, рекомендую, всё же, второй метод. Проще отправить запрос, чем вычислить дату с учётом всех дней месяца и високосными годами посредством AMXX.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Работа с таймером, датой

Сообщение di.alyabev » 13 мар 2017, 18:59

В том и дело еслиб хранилась в секундах unixtime яб даже тему не сиал создавать, а тут: 2017/03/10 13:20:44
Аватара пользователя
di.alyabev
 
Сообщения: 200
Зарегистрирован: 15 ноя 2012, 15:58
Забанен
Благодарил (а): 24 раз.
Поблагодарили: 109 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Работа с таймером, датой

Сообщение Subb98 » 13 мар 2017, 19:05

di.alyabev, пример:

Код: Выделить всё
`timestamp` INT(11) UNSIGNED NOT NULL

Код: Выделить всё
#if defined SQL_DELETE_OLD_ENTRIES
formatex(g_Query, charsmax(g_Query), "DELETE FROM `%s` WHERE `timestamp` < (%d - (86400 * %d))", SQL_TABLE, get_systime(), SQL_DELETE_OLD_ENTRIES);
SQL_ThreadQuery(g_Tuple, "Ignored_QueryHandler", g_Query);
#endif 
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Работа с таймером, датой

Сообщение zhorzh78 » 13 мар 2017, 19:07

Код: Выделить всё
parse_time

вот так пишут плагины на продажу :-)
Аватара пользователя
zhorzh78
 
Сообщения: 91
Зарегистрирован: 26 фев 2014, 10:07
Благодарил (а): 1 раз.
Поблагодарили: 23 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn (AMXX)

Re: Работа с таймером, датой

Сообщение Subb98 » 13 мар 2017, 19:09

zhorzh78 писал(а):вот так пишут плагины на продажу :-)

Бывает, чё.. :zzz:
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 8