2013-04-23 2 views
3

나는이 같은 UIDatePicker에 대한 로케일을 변경하려고 :UIDatePicker 변경 로케일

picker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 

그것은 작동하지만, 시간 형식의 시스템 설정을 충족하지 않는 선택기를 로케일 설정 한 후. 나는 24 시간/(AM/PM)을 의미합니다. 내가 뭘 잘못하고 있니?

+0

로캘을 변경하기 전후에 디버그 로그를 제공 할 수 있습니까? – CaptainRedmuff

+0

더 많은 코드를 제공 할 수 있습니까? –

+0

로그가 없습니다. 평소처럼 viewDidLoad에서 UIDatePicker를 만듭니다. _datePicker = [UIDatePicker new]; 그리고 viewWillAppear에서 picker.locale = [[NSLocale alloc] initWithLocaleIdentifier : @ "en_US"]와 같이 로케일을 설정하십시오. –

답변

-1

잘못된 것은 아닙니다. 날짜/시간 형식은 로켈에 의해 결정됩니다. 그리고 en_US는 12 시간 AM/PM 형식을 사용합니다. http://demo.icu-project.org/icu-bin/locexp?_=en_US

+1

이 표시됩니다. 두 시간 형식을 모두 지원해야합니까? 왜 내가 시간 형식을 변경 한 이유는 현재 설치 언어 대신 현지 언어를 보여주는 이유였습니다. –

+0

유감스럽게도 날짜 선택 도구의 날짜 형식을 미세 조정할 수는 없습니다. 여러 로케일과 캘린더를 설정하고 요구 사항에 가장 적합한 것을 선택할 수 있습니다. – Jeepston

0

사용자가 원하는 시간 형식을 지원하려면 표시된 대답이 정확하지 않습니다.

피커 로케일을 기본값 (장치의 기본값)으로 설정하면 피커는 특정 로캘의 12/24 시간 형식을 사용합니다. 미국의 경우 12 시간이고 영국의 경우 24 시간입니다.

그러나 사용자가 장치를 수동으로 12/24로 변경하면 피커는이 스타일을 사용하지 않습니다. 장치가 수동 12/24 인 경우

  1. 감지 한 후 12 시간 및 EN_GB 로케일 ko 페이지를 선택

    하면 피커 만이 접근 방식의 몇 사용하여 해결할 수있는 시간이 아닌 날짜 + 시간을 사용하는 경우 24 시간 동안.

  2. 로캘을 설정하지 않고 timeStyle 만 NSDateFormatterShortStyle로 설정하면 장치 설정에서 선택한 시간 형식이 자동으로 선택됩니다.

날짜 + 시간을 사용하는 경우 올바른 언어 및 형식으로 날짜를 가져올 장치의 로캘을 설정해야하지만이 경우 장치에 설정된 시간 형식이 무시됩니다.

+0

좀 더 자세히 설명해 주시겠습니까? 시간 포맷을'HH : mm'으로 설정한다는 것은 무엇을 의미합니까? 어디에서 설정해야합니까? 'UIDatePicker'에는'timeFormat'이 없습니다. – pre

+0

네 말이 맞아. 왜 내가 그렇게 말했는지 모르겠다. – Leon

0

로컬 섹션의 xCode : - 에서 설정할 수 있습니다.

enter image description here