> 일반적인 문제 > laravel에서 시간대를 설정하는 방법

laravel에서 시간대를 설정하는 방법

小老鼠
풀어 주다: 2023-05-10 15:29:41
원래의
3238명이 탐색했습니다.

laravel에서 시간대를 설정하는 방법: 1. "config/app.php" 파일을 열고 "app.php"에서 "'timezone' =>" 항목을 찾은 다음 항목의 값을 "Asia/Shanghai" 또는 "PRC"와 같은 필수 시간대 식별자 2. 프로그램이 실행될 때 시간대를 수동으로 변경합니다. 시간대를 변경하려면 "Carbon" 클래스를 사용하여 "setTimezone()" 메서드를 구현합니다. 3. 모델 시간대를 설정하고 "$timezone"을 설정합니다. 속성은 시간대를 지정합니다.

laravel에서 시간대를 설정하는 방법

이 튜토리얼의 운영 체제: Windows 10 시스템, Dell G3 컴퓨터.

Laravel은 대규모 웹 애플리케이션을 만들고 유지하는 데 일반적으로 사용되는 PHP 기반 웹 프레임워크입니다. 시간대는 웹 애플리케이션 개발에 중요한 문제이며, Laravel은 시간대를 관리하는 쉬운 방법을 제공합니다. 이번 글에서는 Laravel에서 시간대를 변경하는 방법에 대해 설명하겠습니다.

Laravel 시간대 구성

Laravel의 시간대 구성은 config/app.php 파일에 있습니다. 기본값은 UTC(협정 세계시) 시간대이며 다음과 같이 시간대를 변경할 수 있습니다.

'timezone' => 'Asia/Shanghai',
로그인 후 복사

'Asia/Shanghai'를 필요한 시간대로 바꿀 수 있습니다(예: 미국 동부 시간은 'America/ 뉴욕').

수동으로 시간대 변경

애플리케이션이 실행되는 동안 시간대를 동적으로 변경해야 하는 경우 Carbon 클래스를 사용하여 이를 달성할 수 있습니다. Carbon 클래스의 setTimezone() 메소드를 사용하면 런타임 시 시간대를 변경할 수 있습니다. 예:

$date = Carbon::now()->setTimezone('America/New_York');
로그인 후 복사

위 코드는 현재 시간을 동부 표준시로 변환합니다.

요청 수준 시간대

Laravel에서는 각 요청마다 다른 시간대를 설정할 수도 있습니다. 기본적으로 Laravel은 애플리케이션의 시간대를 사용합니다. 그러나 미들웨어에서 setLocale() 메소드를 사용하면 요청마다 시간대를 변경할 수 있습니다. 예:

public function handle($request, Closure $next)
{
    app()->setLocale('en');
 
    return $next($request);
}
로그인 후 복사

위 코드는 시간대를 영국 런던 시간으로 변경합니다.

모델의 시간대 설정

마지막으로 모델의 시간대도 설정할 수 있습니다. 모델 클래스에서는 $dateFormat 속성을 사용하여 날짜 형식을 설정하고, $timezone 속성을 사용하여 시간대를 지정합니다. 예:

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';
}
로그인 후 복사

위 코드는 아시아/상하이 시간대를 사용하여 Created_at 및update_at 속성을 구문 분석합니다.

요약

시간대는 웹 애플리케이션에 있어서 중요한 문제이며, Laravel은 시간대를 관리하는 다양한 방법을 제공합니다. Carbon 클래스, 요청 수준 또는 모델 수준을 사용하여 구성 파일을 수정하여 시간대를 변경할 수 있습니다. 그러나 동적 시간대를 사용하는 경우 다른 시간대 때문에 구문 분석 오류가 발생하지 않도록 코드에서 날짜와 시간의 형식을 올바르게 지정해야 합니다.

위 내용은 laravel에서 시간대를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿