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) и записать в новое поле
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
@alexalexes
Вариант 1.
1. Определите, что у вас - полная дата, или только год.
2. Если только год, то приклейте 1 января.
3. Конвертируйте в отметку Unix time как обычно.
4. Если дата с фрагментом 1 января, то считаем, что известен был только год, выводим только год.

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 09:29
2500 руб./за проект
25 апр. 2024, в 09:27
4000 руб./за проект
25 апр. 2024, в 09:20
10000 руб./за проект