ВНИМАНИЕ:
По моему мнению, вы идете в неправильном направлении, изменяя стандартную конфигурацию laravel framework. Согласно соглашению, вы не должны изменять/редактировать значения по умолчанию, если только ваше приложение не предназначено для конкретной страны, а не для всего мира.
Подробнее о том, как не изменять настройки по умолчанию (сообщение на форуме относится только к часовому поясу, но относится ко всему в целом)
Ответить
Почему вы не используете Carbon?
Храните время как обычно, а затем в блейде/контроллере измените часовой пояс и локаль и отобразите его.
Способ 1:
Вот что вам нужно сделать:
Импортируйте пространство имен Carbon в свой контроллер.
use Carbon\Carbon;
Затем в вашем методе:
public function yourMethodName()
{
// replace getDateAndTimeValueFromDB() with whatever
// you are using or whatever your logic is...
$dt = getDateAndTimeValueFromDB();
Carbon::setLocale('nl');
$newDt = Carbon::parse($dt)->timezone('Europe/Amsterdam');
return view('path.to.your_view_file', compact('newDt'));
}
А затем в файле представления добавьте следующее, где хотите.
{{ $newDt }}
Это должно сработать.
Метод 2:
Я бы не советовал вам использовать этот (упомянутый ниже метод), потому что вы будете смешивать Blade и PHP вместе, что крайне не рекомендуется, так как это приведет к плохому дизайну вашего кода и вашего приложения, даже если вы будет получен правильный вывод.
Вы можете использовать экземпляр Carbon
непосредственно в файле блейда. Просто добавьте следующий фрагмент кода в файл view.blade.file.
<?php
Carbon\Carbon::setLocale('nl');
$dt = getDateAndTimeValueFromDB();
$newDt = Carbon\Carbon::parse($dt)->timezone('Europe/Amsterdam');
?>
А затем повторите конвертированную дату в любом месте вашего файла.
{{ $newDt }}
Надеюсь, что это помогает вам. Удачного кодирования. Ваше здоровье.
person
Saiyan Prince
schedule
19.12.2015