motto13
@motto13
Вечно молодой

Как перевести дату в секунды если доступен только год?

php 8.2
Unix time
Как перевести дату в секунды если доступен только год? І как потом вывести только год?
public function formatDate($format = 'd:m:Y', $timestamp = null, $strtotime = false, $usertimezone = true) {
        if ($strtotime === true)  {
            $timestamp = strtotime($timestamp);
        }
        if (is_null($timestamp))  {
            $timestamp = time();
        }
  $datetime = @date($format, $timestamp);
  return $datetime;

upd
В старой базе есть строковое поле с датой, где есть записи даты например - 15.09.2015, а есть просто вписан год пример - 2018.
Задача конвертировать дату в секунды (пр-1673634180) и записать в новое поле
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
@alexalexes
Вариант 1.
1. Определите, что у вас - полная дата, или только год.
2. Если только год, то приклейте 1 января.
3. Конвертируйте в отметку Unix time как обычно.
4. Если дата с фрагментом 1 января, то считаем, что известен был только год, выводим только год.

Вариант 2.
1. Определите, что у вас - полная дата, или только год. Результат сохраняем во временную переменную 1 - полная дата, 2 - только год.
2. Если только год, то приклейте 1 января.
3. Конвертируйте в отметку Unix time как обычно.
4. Сохраните и отметку времени и результат выполнения шага 1 в отдельном поле (полная дата, или только год).
5. Если полная дата, то конвертируем отметку времени в строковое представление, и берем всю строку. Если только год, то тоже конвертируем, но выводим только год.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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