Rumah > masalah biasa > Bagaimana untuk menetapkan zon waktu dalam laravel

Bagaimana untuk menetapkan zon waktu dalam laravel

小老鼠
Lepaskan: 2023-05-10 15:29:41
asal
3368 orang telah melayarinya

Cara untuk menetapkan zon waktu dalam laravel: 1. Buka fail "config/app.php", cari item "'timezone' =>" dalam "app.php", dan tetapkan nilai item ini kepada pengecam zon waktu yang diperlukan, seperti "Asia/Shanghai" atau "PRC" 2. Tukar zon waktu secara manual semasa program dijalankan, gunakan kelas "Carbon" untuk melaksanakan kaedah "setTimezone()" untuk tukar zon waktu; 3. Tetapkan zon waktu untuk model, tetapkan Atribut "$timezone" menentukan zon waktu.

Bagaimana untuk menetapkan zon waktu dalam laravel

Sistem pengendalian untuk tutorial ini: Sistem Windows 10, komputer Dell G3.

Laravel ialah rangka kerja web berasaskan PHP yang biasa digunakan untuk mencipta dan menyelenggara aplikasi web berskala besar. Zon waktu ialah isu kritikal untuk pembangunan aplikasi web, dan Laravel menyediakan cara mudah untuk mengurusnya. Dalam artikel ini, kami akan menerangkan cara menukar zon waktu dalam Laravel.

Konfigurasi zon waktu Laravel

Konfigurasi zon waktu dalam Laravel terletak dalam fail config/app.php. Nilai lalai ialah zon waktu UTC (Coordinated Universal Time) Anda boleh menukar zon waktu seperti berikut:

'timezone' => 'Asia/Shanghai',
Salin selepas log masuk

Anda boleh menggantikan 'Asia/Shanghai' dengan zon waktu yang anda perlukan (contohnya, Waktu Timur AS. ialah 'America/ New_York').

Tukar zon waktu secara manual

Jika anda perlu menukar zon waktu secara dinamik semasa aplikasi sedang berjalan, anda boleh menggunakan kelas Carbon untuk mencapainya. Kaedah setTimezone() kelas Karbon membolehkan anda menukar zon waktu pada masa jalan. Contohnya:

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

Kod di atas akan menukar masa semasa kepada Waktu Timur.

Zon Masa Tahap Permintaan

Dalam Laravel, anda juga boleh menetapkan zon waktu yang berbeza untuk setiap permintaan. Secara lalai, Laravel menggunakan zon waktu aplikasi. Walau bagaimanapun, zon waktu boleh ditukar pada setiap permintaan jika anda menggunakan kaedah setLocale() dalam middleware. Contohnya:

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

Kod di atas akan menukar zon waktu kepada waktu London, UK.

Tetapkan zon waktu untuk model

Akhir sekali, anda juga boleh menetapkan zon waktu untuk model. Dalam kelas model, gunakan atribut $dateFormat untuk menetapkan format tarikh dan tetapkan atribut $timezone untuk menentukan zon waktu. Contohnya:

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';
}
Salin selepas log masuk

Kod di atas akan menggunakan zon waktu Asia/Shanghai untuk menghuraikan atribut create_at dan updated_at.

Ringkasan

Zon masa ialah isu kritikal untuk aplikasi web dan Laravel menyediakan berbilang kaedah untuk mengurus zon waktu. Anda boleh menukar zon waktu dengan mengubah suai fail konfigurasi, menggunakan kelas Karbon, tahap permintaan atau tahap model. Walau bagaimanapun, ambil perhatian bahawa apabila menggunakan zon waktu dinamik, pastikan anda memformat tarikh dan masa dengan betul dalam kod anda untuk mengelakkan ralat penghuraian disebabkan zon waktu yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk menetapkan zon waktu dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Isu terkini
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan