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?
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
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!
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',
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.
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',
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.
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'