PHP 개발에서 SetLocale () 함수 및 LC_Time 상수는 종종 날짜와 시간의 현지화 된 표시를 제어하는 데 사용됩니다. 적절한 로케일을 설정함으로써 프로그램은 다른 언어 및 지역 습관에 따라 날짜 및 시간 형식을 올바르게 표시 할 수 있습니다. 이 기사는 LC_TIME 과 함께 setLocale ()을 사용하여 날짜 형식을 설정하고 현지화 된 디스플레이 효과를 신속하게 달성하는 방법을 자세히 소개합니다.
setLocale () 함수는 현재 스크립트의 로케일을 설정하는 데 사용되며, 이는 프로그램의 날짜, 시간, 숫자 형식 및 기타 측면의 표시에 영향을 줄 수 있습니다. 이 기능은 두 가지 매개 변수를 수용합니다.
카테고리 : 다양한 유형의 현지화 정보를 설정합니다. 일반적인 것들은 다음과 같습니다.
LC_ALL : 모든 카테고리를 설정하십시오.
LC_TIME : 시간 및 날짜와 관련된 현지화를 설정합니다.
LC_NUMERIC : 디지털 형식을 설정합니다.
lc_monetary : 통화 형식을 설정합니다.
lc_collate : 문자열 정렬 규칙을 설정합니다.
로케일 : 지역을 나타내는 식별자. 형식은 "언어_Country"또는 "Language_Country.coding"입니다.
SetLocale () 을 통해 적절한 영역 정보를 설정 한 후 PHP는 영역 정보를 사용하여 관련 날짜 및 시간 표시를 처리합니다.
LC_TIME 상수는 시간 및 날짜와 관련된 현지화 설정을 지정하는 데 사용됩니다. 이를 통해 날짜 형식, 달의 이름, 요일 등을 제어 할 수 있습니다. 현지화 된 날짜 형식을 구현하려면 일반적으로 stftime () 와 함께 setlocale () 함수를 사용해야합니다.
예:
<span><span><span class="hljs-comment">// 중국 지역으로 설정되었습니다(중국)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_TIME, </span><span><span class="hljs-string">'zh_CN.UTF-8'</span></span><span>);
</span><span><span class="hljs-comment">// 현재 날짜와 출력을 현지 형식으로 가져옵니다</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-string">'%A, %d %B %Y'</span></span><span>); </span><span><span class="hljs-comment">// 산출:수요일, 26 6월 2025</span></span><span>
</span></span>
위의 예에서 SetLocale ()은 현재 스크립트 지역을 중국으로 설정합니다 (단순화 된 중국어). Strftime () 함수는 현재 지역 설정에 따라 중국 형식으로 날짜를 출력합니다.
Strftime ()을 사용하면 날짜가 표시되는 방법을 유연하게 지정할 수 있습니다. 다음은 몇 가지 일반적인 형식입니다.
%A : 금주의 전체 이름 (예 : 월요일, 화요일 등)
%A : 요일의 짧은 이름 (예 : 월요일, 화요일 등)
%B : 달 이름 완료 (예 : 1 월, 2 월 등)
%B : 짧은 달 이름 (예 : 첫 번째, 두 번째 등)
%D : 달의 날짜 (01 ~ 31)
%Y : 4 자리 (예 : 2025)
%Y : 두 자리 연도 (예 : 25)
%H : 24 시간 (00 ~ 23)
%m : 분 (00 ~ 59)
%S : 초 (00 ~ 59)
예:
<span><span><span class="hljs-comment">// 영어권 지역으로 설정되었습니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_TIME, </span><span><span class="hljs-string">'en_US.UTF-8'</span></span><span>);
</span><span><span class="hljs-comment">// 현재 날짜와 출력을 현지 형식으로 가져옵니다</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-string">'%A, %d %B %Y'</span></span><span>); </span><span><span class="hljs-comment">// 산출:Wednesday, 26 June 2025</span></span><span>
</span></span>
다른 로케일 설정과 날짜 포맷터를 사용하면 다양한 언어 및 지역에서 날짜 표시를 쉽게 알 수 있습니다.
로케일 지원 문제 : 모든 서버가 모든 지역 식별자를 지원하는 것은 아닙니다. setLocale ()을 사용하는 경우 Locale -A 명령을 통해 서버의 지원 영역을 확인하는 것이 가장 좋습니다. 지정된 영역 식별자가 존재하지 않으면 setLocale () 이 false를 반환하므로 지역 식별자를주의해서 선택해야합니다.
시간대 설정 문제 : setLocale ()은 영역의 현지화 형식 만 제어하며 date_default_timezone_set () 함수는 시간대를 설정하려면 필요합니다. 특정 시간대에 따라 시간을 표시 해야하는 경우 date_default_timezone_set () 와 함께 사용할 수 있습니다.
<span><span><span class="hljs-comment">// 시간대를 설정하십시오</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>(</span><span><span class="hljs-string">'Asia/Shanghai'</span></span><span>);
</span><span><span class="hljs-comment">// 중국 지역으로 설정되었습니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_TIME, </span><span><span class="hljs-string">'zh_CN.UTF-8'</span></span><span>);
</span><span><span class="hljs-comment">// 산출当前时间</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-string">'%Y-%m-%d %H:%M:%S'</span></span><span>); </span><span><span class="hljs-comment">// 산출:2025-06-26 10:30:45</span></span><span>
</span></span>
코딩 문제 : 중국어와 같은 비 라틴 문자를 지원 해야하는 경우 UTF-8 인코딩을 사용하는 것이 좋습니다. 로케일을 설정할 때 코드 문제가 발생하면 서버에 해당 언어 패키지를 설치하고 인코딩이 일관되도록 할 수 있습니다.
PHP는 LC_TIME 상수와 함께 setLocale ()을 사용하여 날짜와 시간의 현지화 된 표시를 실현할 수 있습니다. 다른 지역 식별자를 선택함으로써 개발자는 사용자의 지리적 위치에 따라 날짜 형식을 자동으로 조정하여보다 친근한 사용자 경험을 제공 할 수 있습니다. 서버가 해당 영역 식별자를 지원하는지 확인하여 인코딩의 일관성을 확인하여 코드와 같은 디스플레이 문제를 피하십시오.
이 기사의 예제 및 지침을 사용하면 현지화 된 날짜 형식 설정을 신속하게 구현하고 응용 프로그램에 다국어 지원을 추가 할 수 있어야합니다.