web-dev-qa-db-fra.com

Changer le fuseau horaire dans Lumen ou Laravel 5

J'utilise le framework Lumen. Comment puis-je changer le fuseau horaire en Europe/Paris CEST?

J'ai ajouté une variable dans mon fichier .env:

APP_TIMEZONE=Europe/Paris

Mais cela ne fonctionne pas. Quelle est la bonne façon de mettre à jour le fuseau horaire?

22
StormTrooper

Vous pouvez définir votre fuseau horaire app en configurant le fichier app.php dans le dossier config.

Pour changer de fuseau horaire, modifiez la valeur de timezone dans le fichier app.php.

Ceci est écrit dans cette section

|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|

Pour moi, j’utilise Asia/Dhaka comme fuseau horaire des applications.

Voici la syntaxe appropriée: 

'timezone' => 'Asia/Dhaka'

liste des fuseaux horaires pour PHP 5

J'espère que cela aidera.

Il existe deux façons de mettre à jour votre code . 1. Veuillez ouvrir le fichier app.php présent dans le répertoire config à l'emplacement de votre projet . Descendez la page et vérifiez Application Timezone .__ 

'timezone' => 'UTC',

Ici vous pouvez ajouter votre fuseau horaire comme 

'timezone' => 'Europe/Paris',

Si vous souhaitez gérer votre fuseau horaire à partir du fichier .env, vous pouvez ajouter le code ci-dessous dans votre fichier config.php.

'timezone' => env('APP_TIMEZONE', 'UTC'),

et ajoutez la ligne ci-dessous dans votre fichier .env.

APP_TIMEZONE='Europe/Paris'

Vérifiez le lien ci-dessous pour plus d'informations: https://laravel.com/docs/5.6/configuration#accessing-configuration-values ​​

8
Prashant Barve

Essayez ceci - Créez un répertoire 'config' dans votre configuration Lumen, puis créez un fichier app.php dans ce répertoire 'config'. Il ressemblera à ceci -

<?php return ['app.timezone' => 'America/Los_Angeles'];

Ensuite, vous pouvez accéder à sa valeur n'importe où comme ceci -

$value = config('app.timezone');

Si cela ne fonctionne pas, vous pouvez ajouter ces lignes dans routes.php

date_default_timezone_set('America/Los_Angeles');

Cela a fonctionné pour moi!

7
Sachin Vairagi

Vous devez juste éditer le fichier app.php dans le répertoire config.

/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/

'timezone' => 'UTC',

Et .. le chage pour:

'timezone' => 'Europe/Paris',
3
Juan Pablo Pisano

Dans mon cas (lire une date depuis une base de données MySQL dans un projet Lumen 5.1), la seule solution qui a fonctionné consiste à utiliser Carbon pour définir le fuseau horaire des variables:

    $carbonDate = new Carbon($dateFromDBInUTC);
    $carbonDate->timezone = 'America/New_York';
    return $carbonDate->toDayDateTimeString(); // or $carbonDate->toDateTimeString() for ISO format

L'utilisation de DB_TIMEZONE=-05:00 dans le fichier .env a presque fonctionné, mais ne gère pas les modifications de l'heure d'été.

L'utilisation de APP_TIMEZONE=America/New_York dans le fichier .env n'a aucun effet sur une valeur de fuseau horaire récupérée dans une application Web Lumen 5.1 à partir d'une base de données MySQL, mais cela fonctionne dans Lavarel 5.1.

De plus, Lumen n'a pas du tout lu le fichier [Lumen_project]/config/app.php que j'ai créé (il ne s'est pas plaint lorsque j'ai mis une erreur de syntaxe ici). 

Utiliser date_default_timezone_set n'a pas fonctionné non plus.

2
Organic Advocate

Utiliser les fuseaux horaires php à partir du manuel php Fuseaux horaires Php

Par exemple, le mien i a changé de la valeur UTC dans config/app.php avec

'timezone' => 'Africa/Nairobi',
1
TechPotter

Après avoir modifié app.php , assurez-vous d’exécuter:

 php artisan config:cache

Cela est nécessaire pour vider le cache des paramètres de configuration. Si vous remarquez que vos horodatages sont toujours incorrects après la modification du fuseau horaire dans votre fichier app.php, l'exécution de la commande ci-dessus doit tout rafraîchir et votre nouveau fuseau horaire doit être effectif.

0
agm1984

Pour moi, le fichier app.php était ici /vendor/laravel/Lumen-framework/config/app.php, mais je pouvais également le modifier à partir du fichier .env, dans lequel il pouvait être défini sur l'une des valeurs répertoriées ici (documentation originale PHP ici ).

0
Eloy Ruiz

Dans le fichier .env de Lumen, spécifiez les fuseaux horaires. Pour l'Inde, ce serait comme:

APP_TIMEZONE = 'Asia/Calcutta'
DB_TIMEZONE = '+05:30'
0
shasi kanth