찾다

 >  Q&A  >  본문

PHP에서 IntCalendar는 잘못된 로케일을 출력합니다.

<p>다음 코드가 있는데, fr_FR을 로케일로 출력해야 한다고 생각하는데 어떤 이유에서인지 (시간대에 관계없이) en_US_POSIX를 출력합니다. 내가 뭘 잘못했나요? </p> <pre class="brush:php;toolbar:false;">$loc = IntlCalendar::createInstance(new DateTimeZone('유럽/파리')); echo $loc->getLocale(Locale::VALID_LOCALE);</pre> <p>참조 링크: https://www.php.net/manual/en/intlcalendar.createinstance.php 및 https://www.php.net/manual/en/intlcalendar.getlocale.php<br /> ;<br />이 방법은 올바른 접근 방식이 아닌 것 같습니다(코드는 유효하지만). 특정 시간대에 대한 "기본" 로케일을 찾는 더 적합한 방법이 있습니까?


P粉553428780P粉553428780536일 전627

모든 응답(2)나는 대답할 것이다

  • P粉464088437

    P粉4640884372023-07-29 09:18:13

    시간대를 파리로 설정했습니다. 하지만 로케일을 설정하지 않았습니다. 그것들은 서로 다릅니다. 로캘은 언어 및 형식 지정 규칙을 정의하는 반면, 시간대는 UTC를 현지 시간으로 변환하고 그 반대로 변환하는 규칙을 설정합니다. 귀하가 정의한 내용은 파리에 있는 미국인에게 적용됩니다. 이는 특히 8월에 유효한 사용 사례입니다!

    다음 코드를 사용해 보세요:


    으아악

    회신하다
    0
  • P粉054616867

    P粉0546168672023-07-29 09:01:21

    특정 시간대에서 관련 국가(및 국가 코드)를 가져오는 것으로 시작할 수 있습니다.

    으아아아

    이 정보를 ICU 라이브러리에서 사용할 수 있는 리소스와 결합하여 특정 국가 코드에 가장 적합한 언어를 얻을 수 있습니다.

    으아아아

    모든 사용자에게 적용되는 것은 아닙니다. 이는 좋은 기본 시작점이지만 항상 사용자에게 언어 기본 설정을 물어봐야 합니다.

    으아아아

    회신하다
    0
  • 취소회신하다