2011-08-17 4 views
3

strptime에 대한 사양 :strptime은 읽거나 변환하는 정보로 무엇을합니까?

http://pubs.opengroup.org/onlinepubs/9699919799/functions/strptime.html

는 가능한 변환 사양과 필요한 입력에 대해 대부분 분명합니다. 그러나이 함수가 struct tm에 결과를 저장하는 방법에 대한 지정이없는 것으로 보입니다. 여러 명의 지정자가 부분적으로 또는 전체적으로 충돌하는 데이터를 읽으면 일어날 것으로 예상되는 것. 간단한 예제는 충돌하는 달을 읽는 %m%b (또는 중복 %m)의 존재이지만 아마도 더 흥미로운 예는 %d (일)과 %a (요일)가 충돌 할 때입니다. 어떤 것이 우선합니까? strptimestruct tm에서 일관된 출력을 보장하기로되어 있습니까? 아니면 단순히 필드를 읽기 전용으로 저장해야합니까? %W (일년 중 주)와 같은 특정 항목은 struct tm에서 직접적인 표현이 없으므로 다른 필드를 기반으로 파생 된 출력을 생성해야한다고 가정합니다. 그러나 적용 할 때 명확하지 않습니다.

사양이 부족한 것 같아서, 단순히 존재하지 않는 대답을 요구할 수도 있지만 도움이되는 대답을 특징 짓는 것은 다음과 같습니다.

  • 표준화 된 기능을 기반으로했습니다. 관련 결함 보고서
  • 인용
  • 주제에 대한 이전 토론 링크 (메일 링리스트, 버그 추적기, 유즈넷 등)
  • 시간 분석을위한 기타 관련 표준

답변

2

추가 필드를 구문 분석 시간 동안 주제의 과거 토론 (메일 링리스트, 버그 추적기, 유즈넷 등)

  • 기타 관련 기준에
  • 링크를보고 날짜 확인에 사용됩니다. 유효성 검사 및 확인을 통해 문자열을 날짜를 나타내는 일련의 숫자로 변환 할 수 있습니다. 그런 다음 모든 숫자가 올바른 날짜를 참조하는지 확인해야합니다 (예 : 요일이 정확하면 날짜가 유효하지 않으면 strptimeNULL을 반환합니다.

  • +0

    모든'strptime' 변환은 반드시 * consistent *이어야하지만 반드시 완료 될 필요는 없습니다 * complete *? –

    +0

    @R .. 그게 내가 합리적인 * 행동으로가는거야. 분명히 일부 구현에서는 일관성을 확인할 필요가 없으며 그냥 GIGO라는 가비지를 반환합니다. –

    +0

    일관성 문제가 아닌 경우 파생 값은 어떻게됩니까? 예를 들어, 연말 연시를 읽은 경우 월, 일, 요일 필드 또는 낮 시간에만 의미있는 값을 찾을 수있을 것으로 기대할 수 있습니까? 예를 들어, 년 및 년 분야? 확실히 year가 생략되면'strptime'은 읽은 연중 값을 제외한 어떤 것도 제공 할 수 없습니다 ... –