Laravel 5.7. Переформатирование даты и времени. - PullRequest
0 голосов
/ 02 февраля 2019

По умолчанию, когда Laravel создает сообщение, оно сохраняет метку даты и времени как: 2019-01-31 23: 32: 06

Как я могу показать его в виде - 31 января 2018 года 11: 32pm

Ответы [ 3 ]

0 голосов
/ 02 февраля 2019

Вы можете использовать Углерод в laravel.

Сначала используйте carbon:

use Carbon\Carbon;

Затем используйте нужный формат, в вашем случае этобудет выглядеть так:

public function test()
{
    $dt = User::find(1);
    return $dt->created_at->format('M jS\\, Y h:i:s A'); //Dec 1st, 1975 02:15:16 PM
}

Вы также можете использовать его в своем представлении , просто используйте carbon вверху вашего файла:

<?php use Carbon\Carbon;?>

, затем измените формат на вашем дисплее как {{$dt->created_at->format('M jS\\, Y h:i:s A')}}

0 голосов
/ 02 февраля 2019

Извините за поздний ответ

Ваш ввод 2018-01-31 23:32:06

Ваш ожидаемый результат Jan 31st, 2018 11:32pm

Я создал функцию

function convertToPreferedDateFormat($dateString='')
  {
            $toTimeString = strtotime($dateString);

            $yourExpectedFormat = 'M dS, Y h:ia';

           // $prettyBeautifullWay = 'l jS \of F Y h:i:s A';

            return date($yourExpectedFormat, $toTimeString);
  }

Тогда сейчас тестируем

$timeString = '2018-01-31 23:32:06';

  $expectedOutput = 'Jan 31st, 2018 11:32pm';

echo convertToPreferedDateFormat($timeString);
echo "<br>";
echo $expectedOutput;
0 голосов
/ 02 февраля 2019

U может использовать Php Carbon в дате изменения.Например.

$dt = Carbon::createFromFormat('Y-m-d H:i:s.u', '2019-02-01 03:45:27.612584');

// $dt->toAtomString() is the same as $dt->format(DateTime::ATOM);
echo $dt->toAtomString();           // 2019-02-01T03:45:27+00:00
echo $dt->toCookieString();         // Friday, 01-Feb-2019 03:45:27 UTC

echo $dt->toIso8601String();        // 2019-02-01T03:45:27+00:00
// Be aware we chose to use the full-extended format of the ISO 8601 norm
// Natively, DateTime::ISO8601 format is not compatible with ISO-8601 as it
// is explained here in the PHP documentation:
// https://php.net/manual/class.datetime.php#datetime.constants.iso8601
// We consider it as a PHP mistake and chose not to provide method for this
// format, but you still can use it this way:
echo $dt->format(DateTime::ISO8601); // 2019-02-01T03:45:27+0000

echo $dt->toISOString();            // 2019-02-01T03:45:27.612584Z
echo $dt->toJSON();                 // 2019-02-01T03:45:27.612584Z

echo $dt->toIso8601ZuluString();    // 2019-02-01T03:45:27Z
echo $dt->toDateTimeLocalString();  // 2019-02-01T03:45:27
echo $dt->toRfc822String();         // Fri, 01 Feb 19 03:45:27 +0000
echo $dt->toRfc850String();         // Friday, 01-Feb-19 03:45:27 UTC
echo $dt->toRfc1036String();        // Fri, 01 Feb 19 03:45:27 +0000
echo $dt->toRfc1123String();        // Fri, 01 Feb 2019 03:45:27 +0000
echo $dt->toRfc2822String();        // Fri, 01 Feb 2019 03:45:27 +0000
echo $dt->toRfc3339String();        // 2019-02-01T03:45:27+00:00
echo $dt->toRfc7231String();        // Fri, 01 Feb 2019 03:45:27 GMT
echo $dt->toRssString();            // Fri, 01 Feb 2019 03:45:27 +0000
echo $dt->toW3cString();            // 2019-02-01T03:45:27+00:00

Пожалуйста, прочитайте больше о Php Carbon

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...