" dans "app.php" et définissez la valeur de l'élément sur l'heure requise. identifiant de zone, par exemple « Asie/Shanghai » ou « RPC » ; 2. Modifiez manuellement le fuseau horaire lorsque le programme est en cours d'exécution et utilisez la classe « Carbon » pour implémenter la méthode « setTimezone() » pour modifier le fuseau horaire ; 3. Définissez le fuseau horaire du modèle et définissez l'attribut "$timezone" pour spécifier le fuseau horaire."/> " dans "app.php" et définissez la valeur de l'élément sur l'heure requise. identifiant de zone, par exemple « Asie/Shanghai » ou « RPC » ; 2. Modifiez manuellement le fuseau horaire lorsque le programme est en cours d'exécution et utilisez la classe « Carbon » pour implémenter la méthode « setTimezone() » pour modifier le fuseau horaire ; 3. Définissez le fuseau horaire du modèle et définissez l'attribut "$timezone" pour spécifier le fuseau horaire.">

Maison >Problème commun >Comment définir le fuseau horaire dans Laravel

Comment définir le fuseau horaire dans Laravel

小老鼠
小老鼠original
2023-05-10 15:29:413202parcourir

Comment définir le fuseau horaire dans Laravel : 1. Ouvrez le fichier "config/app.php", recherchez l'élément "'timezone' =>" dans "app.php" et définissez la valeur de l'élément sur identifiant de fuseau horaire requis, tel que « Asie/Shanghai » ou « RPC » ; 2. Modifiez manuellement le fuseau horaire lorsque le programme est en cours d'exécution, utilisez la classe « Carbon » pour implémenter la méthode « setTimezone() » pour modifier le fuseau horaire. ; 3. Définissez le fuseau horaire du modèle, la propriété set "$timezone" spécifie le fuseau horaire.

Comment définir le fuseau horaire dans Laravel

Le système d'exploitation de ce tutoriel : système Windows 10, ordinateur Dell G3.

Laravel est un framework Web basé sur PHP couramment utilisé pour créer et maintenir des applications Web à grande échelle. Les fuseaux horaires sont un problème critique pour le développement d'applications Web, et Laravel fournit des moyens simples de les gérer. Dans cet article, nous expliquerons comment changer de fuseau horaire dans Laravel.

Configuration du fuseau horaire Laravel

La configuration du fuseau horaire dans Laravel se trouve dans le fichier config/app.php. La valeur par défaut est le fuseau horaire UTC (Temps universel coordonné), vous pouvez modifier le fuseau horaire comme suit :

'timezone' => 'Asia/Shanghai',

Vous pouvez remplacer "Asia/Shanghai" par le fuseau horaire dont vous avez besoin (par exemple, l'heure de l'Est des États-Unis est "America/ New_York').

Changer le fuseau horaire manuellement

Si vous devez modifier dynamiquement le fuseau horaire pendant que votre application est en cours d'exécution, vous pouvez utiliser la classe Carbon pour y parvenir. La méthode setTimezone() de la classe Carbon permet de changer le fuseau horaire au moment de l'exécution. Par exemple :

$date = Carbon::now()->setTimezone('America/New_York');

Le code ci-dessus convertira l'heure actuelle en heure de l'Est.

Fuseau horaire au niveau de la demande

Dans Laravel, vous pouvez également définir un fuseau horaire différent pour chaque demande. Par défaut, Laravel utilise le fuseau horaire de l'application. Cependant, le fuseau horaire peut être modifié à chaque requête si vous utilisez la méthode setLocale() dans le middleware. Par exemple :

public function handle($request, Closure $next)
{
    app()->setLocale('en');
 
    return $next($request);
}

Le code ci-dessus changera le fuseau horaire en heure de Londres, au Royaume-Uni.

Définissez le fuseau horaire du modèle

Enfin, vous pouvez également définir le fuseau horaire du modèle. Dans la classe modèle, utilisez l'attribut $dateFormat pour définir le format de date et définissez l'attribut $timezone pour spécifier le fuseau horaire. Par exemple :

class User extends Model
{
    /**
     * The attributes that should be mutated to dates.
     *
     * @var array
     */
    protected $dates = [
        'created_at',
        'updated_at',
    ];
 
    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'id' => 'integer',
    ];
 
    /**
     * The attributes that should be mutated to date.
     *
     * @var string
     */
    protected $dateFormat = 'Y-m-d H:i:s';
 
    /**
     * The attributes that should be mutated to timezone.
     *
     * @var string
     */
    protected $timezone = 'Asia/Shanghai';
}

Le code ci-dessus utilisera le fuseau horaire Asie/Shanghai pour analyser les attributs Created_at et Updated_at.

Résumé

Les fuseaux horaires sont un problème critique pour les applications Web, et Laravel propose plusieurs façons de gérer les fuseaux horaires. Vous pouvez changer le fuseau horaire en modifiant le fichier de configuration, en utilisant la classe Carbon, le niveau requête ou le niveau modèle. Notez cependant que lorsque vous utilisez des fuseaux horaires dynamiques, veillez à formater correctement la date et l'heure dans votre code pour éviter les erreurs d'analyse dues aux différents fuseaux horaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn