JSON API의 부분 날짜를 나타냅니다
문제
범위가 커지고있는 RESTFUL JSON DATA API를 관리하고 있습니다. 현재, 우리는 문자열 "yyyy-mm-dd"로 모든 날짜를 와이어를 통해 반환하고 있지만, 부분 날짜의 개념을 나타내야합니다.
부분 날짜가 의미하는 바는 1 년 또는 1 년 만에 알려지지 않은 구성 요소가있는 날짜 값입니다. 프레젠테이션 계층에서 이것은 다음과 같이 번역됩니다.
2009-09-03 => '3rd September 2009'
2009-09 => 'September 2009'
2009 => 'Undated 2009'
이 유형의 데이터에 대한 선례 또는 표준이 있습니까? 예를 들어, MySQL은 날짜 및 DateTime 필드에서 00 값을 허용하여이를 활성화합니다. .
JSON 피드 에서이 부분 날짜 개념을 의미 적으로 표현하는 가장 좋은 방법은 무엇입니까?
이상적으로, 우리는 소비자가 쉽게 구문 분석 할 수있는 솔루션을 구현할 수 있지만 문서화에 대해 간단하게 설명 할 수 있습니다.
해결책
편집 : 이것에 대해 다시 생각하면, yyyy-mm과 yyyy는 둘 다 유효합니다 ISO 8601, 아마 그것을 사용하는 것이 더 낫습니다.
JSON은 JavaScript 리터럴 구문의 하위 집합이고 JS는 날짜 리터럴이 없기 때문에 JSON 날짜 (모든 종류의)에 대한 표준은 없습니다. 보다 http://msdn.microsoft.com/en-us/library/bb299886.aspx#intro_to_json_sidebarb .
다른 팁
솔루션을 찾을 수 있습니다 @ www.datejs.com
감사.
스토리지 측면에서, 연도, 월 및 일을 별도의 열에 저장하고 널을 허용하여 모호성을 저장할 수 있습니다. 이렇게하면 문자열 연결 및 Coalesce (Day, '00 ') 함수로 쿼리 할 수있어 열이 비워지면'00 '을 가져옵니다.