Задать вопрос

Как работать с датами?

Здравствуйте.
Стоит следующая задача: из базы нужно достать записи за определенный промежуток времени. В базе дата хранится в числовом виде (например: 1449500400). На первый взгляд я вижу следующий вариант работы: преобразуем в нормальную дату и добавляем нужный промежуток через DateInterval, потом преобразуем обратно и ищем.
Но может быть есть более короткий способ прибавить например неделю к числу в миллисекундах?
Заранее благодарен всем отозвавшимся.
  • Вопрос задан
  • 194 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
sanchezzzhak
@sanchezzzhak
Ля ля ля...
... WHERE created_at BETWEEN @a1 AND @a2

где @a1 = strtotime(date('2015-01-05 00:00:00'))
@a2 = strtotime('-20 days');
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
timestamp - это не милисекунды, а секунды. Соответственно неделя это 60*60*24*7.
Но это довольно грубый метод, он не учитывает перевод на летнее/зимнее время, високосные секунды и т.п..
Поэтому лучше использовать что-то типа strtotime('-20 days'); как советует Александр N++.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
MySQL самостоятельно умеет работать с датой и временем - в частности, приводить его к timestamp и прибавлять интервалы.
RTFM
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽