Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Функция date();

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
etoYA
Отправлено: 11 Декабря, 2011 - 16:41:31
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




У меня в скрипте регистрации в базу добавляется дата регистрации date(d.m.Y); И вот я решил сделать скрипт актвивации пользователей, т.е. если не подтвердил в течении 5 дней, то удалить из базы.

Вопрос: Как определить разцину в 5 дней между датой регистрации?. P.S догадываюсь как сделать с NOW(),TIME(). Но желательно именно с date();
 
 Top
Panoptik
Отправлено: 11 Декабря, 2011 - 16:50:45
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




если интересует на php то именно с date щас лень придумывать можно попробовать неплохой вариант:
PHP:
скопировать код в буфер обмена
  1.  
  2. if(time()>(date(d.m.Y)+432000)) {
  3. //тут действия по удалению
  4. //432000 время 5 дней в секундах
  5. }
  6.  

(Отредактировано автором: 11 Декабря, 2011 - 16:51:56)



-----
Just do it
 
 Top
shipko
Отправлено: 11 Декабря, 2011 - 16:51:03
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




а не проще сделать дату в формате timestamp??
 
 Top
etoYA
Отправлено: 11 Декабря, 2011 - 16:51:20
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




А как быть если дата записана ('d.m.Y')????

(Отредактировано автором: 11 Декабря, 2011 - 16:52:17)

 
 Top
z1o
Отправлено: 11 Декабря, 2011 - 16:51:43
Post Id


Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




У меня есть два варианта:
1) Используем функцию explode(), разбиваем дату регистрации
2) Циклом проходим до первого разделителя, и все что за ним просто убрать...
 
 Top
Мелкий Супермодератор
Отправлено: 11 Декабря, 2011 - 16:52:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




0) используйте, пока не поздно, нормальный Y-m-d и тип datatime или unixtime.
1) http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]tion_date-format


-----
PostgreSQL DBA
 
 Top
Panoptik
Отправлено: 11 Декабря, 2011 - 16:54:34
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




я немного ошибся, так работать не будет, нужно преобразовать date в timestamp
if(time()>strtotime((date(d.m.Y))+432000)) {
//тут действия по удалению
//432000 время 5 дней в секундах
}


-----
Just do it
 
 Top
etoYA
Отправлено: 11 Декабря, 2011 - 16:55:50
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




shipko, офк проще, но тогда при выводе даты регистрации пользователя придется приобразовывать в ту же дате()
 
 Top
Данил_123
Отправлено: 11 Декабря, 2011 - 17:12:09
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




strtotime("+5 day");

(Отредактировано автором: 11 Декабря, 2011 - 17:12:36)



-----
http://mysitecost.ru
 
 Top
etoYA
Отправлено: 11 Декабря, 2011 - 17:30:39
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




А есть обратная функция strtotime?

У меня вот получилось

1323554400

Хотелось бы проверить, действительно ли +5 дней добавилось. Улыбка
(Добавление)
Проверил уже, не работает..

(Отредактировано автором: 11 Декабря, 2011 - 17:32:15)

 
 Top
shipko
Отправлено: 11 Декабря, 2011 - 17:33:46
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




etoYA пишет:
shipko, офк проще, но тогда при выводе даты регистрации пользователя придется приобразовывать в ту же дате()

ну это легко сделать используя функцию mktime и просто модуль разниц во времени проверять меньше чем 60*60*24 (так мы можем проверить зарегистрировался он в этот день или нет )
 
 Top
Данил_123
Отправлено: 11 Декабря, 2011 - 17:48:45
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




PHP:
скопировать код в буфер обмена
  1. if(date("d.m.Y") == $date=date("d.m.Y",strtotime("+5 day")));
проверку не проверял

(Отредактировано автором: 11 Декабря, 2011 - 17:55:46)



-----
http://mysitecost.ru
 
 Top
etoYA
Отправлено: 11 Декабря, 2011 - 17:51:05
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Данил_123, это то да, но ведь дата в базе...
 
 Top
Данил_123
Отправлено: 11 Декабря, 2011 - 18:00:41
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




etoYA ну значит под mysql_fetch_array и whеrе


-----
http://mysitecost.ru
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB