strptime
에 대한 사양 :strptime은 읽거나 변환하는 정보로 무엇을합니까?
http://pubs.opengroup.org/onlinepubs/9699919799/functions/strptime.html
는 가능한 변환 사양과 필요한 입력에 대해 대부분 분명합니다. 그러나이 함수가 struct tm
에 결과를 저장하는 방법에 대한 지정이없는 것으로 보입니다. 여러 명의 지정자가 부분적으로 또는 전체적으로 충돌하는 데이터를 읽으면 일어날 것으로 예상되는 것. 간단한 예제는 충돌하는 달을 읽는 %m
과 %b
(또는 중복 %m
)의 존재이지만 아마도 더 흥미로운 예는 %d
(일)과 %a
(요일)가 충돌 할 때입니다. 어떤 것이 우선합니까? strptime
은 struct tm
에서 일관된 출력을 보장하기로되어 있습니까? 아니면 단순히 필드를 읽기 전용으로 저장해야합니까? %W
(일년 중 주)와 같은 특정 항목은 struct tm
에서 직접적인 표현이 없으므로 다른 필드를 기반으로 파생 된 출력을 생성해야한다고 가정합니다. 그러나 적용 할 때 명확하지 않습니다.
사양이 부족한 것 같아서, 단순히 존재하지 않는 대답을 요구할 수도 있지만 도움이되는 대답을 특징 짓는 것은 다음과 같습니다.
- 표준화 된 기능을 기반으로했습니다. 관련 결함 보고서
- 인용
- 주제에 대한 이전 토론 링크 (메일 링리스트, 버그 추적기, 유즈넷 등)
- 시간 분석을위한 기타 관련 표준
모든'strptime' 변환은 반드시 * consistent *이어야하지만 반드시 완료 될 필요는 없습니다 * complete *? –
@R .. 그게 내가 합리적인 * 행동으로가는거야. 분명히 일부 구현에서는 일관성을 확인할 필요가 없으며 그냥 GIGO라는 가비지를 반환합니다. –
일관성 문제가 아닌 경우 파생 값은 어떻게됩니까? 예를 들어, 연말 연시를 읽은 경우 월, 일, 요일 필드 또는 낮 시간에만 의미있는 값을 찾을 수있을 것으로 기대할 수 있습니까? 예를 들어, 년 및 년 분야? 확실히 year가 생략되면'strptime'은 읽은 연중 값을 제외한 어떤 것도 제공 할 수 없습니다 ... –