다시 한 번, 정확히 말하면 info
이해 하지 못하는 페이지에서 흥미로운 것을 발견했습니다 .info date
선택적 수정자는 선택적 플래그 및 너비 사양을 따를 수 있습니다. 수정자는 다음과 같습니다.
E
날짜와 시간에 대한 로케일의 대체 표현을 사용하십시오. 이 수정자는%c
,%C
,%x
및 변환 지정자%X
에 적용됩니다 . 예를 들어, 일본어 로케일에서는 일본 천황의 통치를 기반으로 하는 날짜 형식이 생성될 수 있습니다.%y
%Y
%Ex
O
숫자를 나타내려면 로케일의 대체 숫자 기호를 사용하십시오. 이 수정자는 숫자 변환 지정자에만 적용됩니다.형식이 수정자를 지원하지만 대체 표현을 사용할 수 없는 경우 무시됩니다.
질문: 이 수정자를 사용하는 방법에 대한 [다른] 예입니다.
이 설명은 제가 보기에는 비슷합니다. »다른 것이 설정되어 있으면 뭔가를 하겠지만 너무 많은 것을 기대하지는 마세요.«. 가끔은 이런 것들이 어디서 왔는지, 그 목적이 무엇인지 궁금합니다.
답변1
때로는 선택의 여지가 너무 많다는 점에 동의합니다. 하지만 세상은 넓고 기쁘게 해야 할 다양한 그룹이 있으므로 분명히 누군가는 이것을 원합니다.
libc 라이브러리를 보면 다음 함수를 찾을 수 있습니다.
7.6.2 로케일 데이터에 대한 정확한 접근
X/Open 이식성 가이드를 작성하는 동안 저자는 localeconv 기능이 로케일 정보에 대한 합리적인 액세스를 제공하기에 충분하지 않다는 것을 깨달았습니다. 로케일(POSIX.1 표준에서 나중에 지정됨)에서 사용할 수 있어야 하는 정보에 액세스하려면 더 많은 방법이 필요합니다. 따라서 nl_langinfo 함수가 도입되었습니다.
— 함수: char * nl_langinfo(nl_item 항목)
nl_langinfo 함수는 로캘 범주의 개별 요소에 액세스하는 데 사용할 수 있습니다. 모든 정보를 반환하는 localeconv 함수와 달리 nl_langinfo를 사용하면 호출자가 필요한 정보를 선택할 수 있습니다. 이는 매우 빠르며 함수를 여러 번 호출하는 것도 문제가 되지 않습니다.
두 번째 장점은 숫자 및 통화 형식 정보 외에도 LC_TIME 및 LC_MESSAGES 범주의 정보를 사용할 수도 있다는 것입니다.
nl_type 유형은 nl_types.h에 정의되어 있습니다. 매개변수 항목은 헤더 파일 langinfo.h에 정의된 값입니다. X/Open 표준은 다음 값을 정의합니다.
nl_items
제공할 수 있는 기능 중 하나 nl_langinfo
는 입니다 ERA
.
연대
반환 값은 현재 로케일에서 사용되는 시대를 나타냅니다. 대부분의 로케일은 이 값을 정의하지 않습니다. 이 값을 정의하는 로케일의 예는 일본어입니다. 일본의 전통적인 날짜 표현에는 당시 천황의 통치에 해당하는 연호가 포함됩니다.
일반적으로 이 값을 직접 사용할 필요는 없습니다. 형식 문자열에 E 수정자를 지정하면 strftime 함수가 이 정보를 사용하게 됩니다. 반환된 문자열의 형식은 지정되지 않으므로 다른 시스템에서 이를 알고 있다고 가정하면 안 됩니다.