Преобразование строки средства выбора даты в простой формат даты в php

Мой vuexy datepicker возвращает следующую строку:

Tue Dec 01 2020 21:30:00 GMT+0600 (Bangladesh Standard Time)

В моем контроллере (Laravel) я хочу преобразовать это в простой формат даты — yyyy-mm-dd.

Я пробовал с strtotime() и date(), но ничего не работает. Возможно, потребуется использовать DateTime::createFromFormat(), но я не смог выбрать синтаксис.

Как я могу преобразовать его в yyyy-mm-dd?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
254
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Это работает для меня:

$date = 'Tue Dec 01 2020 21:30:00 GMT+0600 (Bangladesh Standard Time)';
$date = preg_replace('/\(.*\)$/', '', $date); # Get rid of TZ from the date string
echo date('Y-m-d', strtotime($date));

Вот еще один пример использования класса DateTime

$date = 'Tue Dec 01 2020 21:30:00 GMT+0600 (Bangladesh Standard Time)';
$date = preg_replace('/\(.*\)$/', '', $date);
$dt = new DateTime($date);
echo $dt->format('Y-m-d');

Оба выхода:

2020-12-01

Длина даты перед (, вероятно, всегда одинакова, поэтому, возможно, substr($date, 0, 33); тоже подойдет.

Marcel Burkhard 21.12.2020 19:53

Правда @MarcelBurkhard. Как всегда TMTOWTDI

dazed-and-confused 21.12.2020 19:59

Привет, друг, ты можешь использовать углеродный пакет, один из наиболее рекомендуемых пакетов. Пожалуйста, следуйте коду, как показано ниже

use Carbon; //use at the begining of class/controller

$date = 'Tue Dec 01 2020 21:30:00 GMT+0600 (Bangladesh Standard Time)';

$formated_date = Carbon::parse($date)->format('Y-m-d');
//output will be 2020-12-01

Другие вопросы по теме