Programing

Locale :: getDefault ()를 고려하여 DateTime 개체 서식 지정

lottogame 2020. 12. 14. 07:45
반응형

Locale :: getDefault ()를 고려하여 DateTime 개체 서식 지정


현재 형식을 지정하고있는 DateTime 개체가 있습니다.

$mytime->format("D d.m.Y")

정확히 필요한 형식을 제공합니다.

화 5.3.2012

유일하게 빠진 점은 올바른 언어입니다. 나는 독일 번역 필요 Tue( Tuesday하다), Die( Dienstag).

이것은 나에게 올바른 로케일 설정을 제공합니다.

Locale::getDefault()

그러나 나는 DateTime::format그것을 사용 하는 방법을 모른다 .

다음과 같은 방법이 있습니까?

$mytime->format("D d.m.Y", \Locale::getDefault());

format로케일에주의를 기울이지 않기 때문 입니다. strftime대신 사용해야 합니다.

예를 들면 :

setlocale(LC_TIME, "de_DE"); //only necessary if the locale isn't already set
$formatted_time = strftime("%a %e.%l.%Y", $mytime->getTimestamp())

Intl 확장자를 사용하여 날짜 형식을 지정할 수 있습니다 . 선택한 로케일에 따라 날짜 / 시간의 형식을 지정하거나 IntlDateFormatter::setPattern().

원하는 출력 형식에 대해 사용자 지정 패턴을 사용하는 빠른 예는 다음과 같습니다.

$dt = new DateTime;

$formatter = new IntlDateFormatter('de_DE', IntlDateFormatter::SHORT, IntlDateFormatter::SHORT);
$formatter->setPattern('E d.M.yyyy');

echo $formatter->format($dt);

다음을 출력합니다 (적어도 오늘은).

디. 4.6.2013


편집 : 아 부! 일부 댓글이 목록을 올렸기 때문에 고대 질문에 답변했습니다! 적어도 Intl 옵션이 지금 언급되었습니다.

참고 URL : https://stackoverflow.com/questions/8744952/formatting-datetime-object-respecting-localegetdefault

반응형