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

Как правильно сравнить разные форматы дат?

Дата хранится в таком формате:
60c9f19f13534080529687.png
Запрос SQL:
$period = 0;
				$time = time();
				
				switch ($data->filter) {
					case 'week': $period = $time - (60 * 60 * 24 * 7); break;
					case 'month': $period = $time - (60 * 60 * 24 * 30); break;
					default: $period = $time - (60 * 60 * 24); break;
				}
				
				$data = (object)[
					'user_id' => $data->userId,
					'period' => $period,
				];
				
				$enrollments = $this->model->getEnrollments($data);


	public function getEnrollments($data) {
		$params = [
			'user_id' => $data->user_id,
			'period' => $data->period,
		];

		return $this->db->row('SELECT id, amount, DATE_FORMAT(date, "%h:%i:%s %d.%m.%Y") as date FROM enrollments WHERE user_id = :user_id && status = 1 && FROM_UNIXTIME(date) > :period ORDER BY id DESC', $params);
	}


Как сравнить :period с date в БД? (:period - число, кол-во секунд с начала 1970 г.)
Как видно - пробую FROM_UNIXTIME, но не работает.
Как правильно сравнить?
  • Вопрос задан
  • 88 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Adamos
@Adamos
кол-во секунд с начала 1970 г.

Называется UNIX_TIMESTAMP. Возможно, придется учесть поправку на часовой пояс.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Если нужно сравнивать с текущим временем, то `date` > NOW()
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы