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 :: Обработка даты из timestamp

 PHP.SU

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


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

> Без описания
dzheka3d
Отправлено: 27 Августа, 2014 - 22:48:07
Post Id



Гость


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


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




Здравствуйте! У меня в базе, дата хранится в формате timestamp, т.е. вот в таком виде 2014-08-27 16:20:09
подскажите, как обрабатывать такую дату в php? Например нужно выполнить выполнить вот такое условие
PHP:
скопировать код в буфер обмена
  1.  
  2. if($row['date'] < (time() - 3600)){
  3.  echo "Пользователь зарегистрировался более часа назад";
  4. }
  5.  


Правильно ли будет вытаскивать дату вот таким способом? UNIX_TIMESTAMP()

(Отредактировано автором: 27 Августа, 2014 - 22:53:38)

 
 Top
OrmaJever
Отправлено: 27 Августа, 2014 - 22:54:20
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




dzheka3d пишет:
дата хранится в формате timestamp, т.е. вот в таком виде 2014-08-27 16:20:09

Вот уже и заблуждение. Дата в формате timestamp храниться в виде числа (количество секунд с 1970 года), например 1409169186.
dzheka3d пишет:
Например нужно выполнить выполнить вот такое условие

исходя из выше написанного ваше условие верно Улыбка


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
DelphinPRO
Отправлено: 27 Августа, 2014 - 23:01:03
Post Id



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


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


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




OrmaJever пишет:
Вот уже и заблуждение. Дата в формате timestamp храниться в виде числа (количество секунд с 1970 года), например 1409169186.

Это верно, но при чтении (SELECT) она возвращается в виде строки. Поэтому стоит использовать или UNIX_TIMESTAMP в SQL, или strtotime в php, для приведения с целому числу (тому самому количеству секунд с 1970 года).


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
OrmaJever
Отправлено: 27 Августа, 2014 - 23:20:17
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




DelphinPRO я даже пошёл и проверил, и правда так, хотя сам этого никогда не замечал Растерялся


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
dzheka3d
Отправлено: 01 Сентября, 2014 - 00:09:44
Post Id



Гость


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


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




Спасибо ребят, а можно сразу другой вопрос... Как при таком раскладе группировать записи при выборке, по каждому месяцу?
Мне нужно посчитать количество записей созданных по всем месяцам... Притом, чтобы записи января 2013 года были отдельно от группы записей января 2014 года.
 
 Top
Мелкий Супермодератор
Отправлено: 01 Сентября, 2014 - 08:05:04
Post Id



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


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


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




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT extract(YEAR_MONTH FROM `timestamp_field`) AS `ym`, /**/ FROM `tablename` GROUP BY `ym`


-----
PostgreSQL DBA
 
 Top
dzheka3d
Отправлено: 01 Сентября, 2014 - 12:02:38
Post Id



Гость


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


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




Суппер, работает, спасибо!!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB