이것은 언어 중립적 인 질문이 아닙니다. Java와 Javasript 그리고 지금까지 사용 해본 모든 SQL 구현에는 날짜/시간 비교 함수가 있습니다. 사용하는 언어 나 플랫폼이 그렇지 않다면, 누군가가 올바른 함수 호출이 무엇인지 또는 어떤 특이성을 해결하는 방법을 말할 수 있는지 알려 주어야합니다. 예, 많은 언어가 날짜/시간 데이터 유형을 가지고 있지만 질문 언어에 중립적 인 것은 아닙니다. 대부분의 언어는 화면에 텍스트를 출력하는 방법을 가지고 있지만 "언어 중립적 인 방법으로 텍스트 문자열을 화면에 쓰려면 어떻게해야합니까?"라고 묻는 것은 합당하지 않습니다. 그러한 질문에 대한 대답은 없습니다.
나는 "마지막 비교 만 비교"란 무엇을 의미하는지 알지 못합니다. 다시 말하지만, 특정 언어의 특정 비교 함수의 동작을 분명히 나타냅니다. 의미있는 대답을 얻으려면보다 구체적이어야합니다.
댓글에 대한 답장으로 수정 : 다른 언어는 날짜를 저장하는 다양한 방법이 있습니다. Java에서 한 날짜/시간이 다른 날짜/시간 뒤에 있는지 알아 보려면 "date1.after (date2)"또는 "date1.compareTo (date2)> 0"이라고 씁니다. Postgres SQL에서는 유형 정의에 따라 "date1> date2"또는 "date1 :: timestamp> date2 :: timestamp"라고 씁니다. C에는 "difftime (date1, date2)"을 포함하여 다양한 "올바른"방법이 있습니다. 기타 등등.
위의 대답은 논리적으로 정확하지만 사용하는 언어의 날짜를 실제로 비교하는 방법과는 관련이 없습니다.이러한 구성 요소 (연, 월, 일 등) 각각에 대해 정수 집합으로 저장된 날짜가있는 경우 제대로 작동하는지 확인하십시오. 그러나 나는 그런 식으로 날짜를 저장하는 언어를 모른다.
날짜를 저장하는 데 자신의 형식을 사용하고 이러한 구성 요소로 분해하는 데 필요한 이유가 응용 프로그램에 유용하면 Aaron의 기술이 정확하다고 생각합니다. 그러나 이것이 유용한 형식이라고는 생각하지 않습니다. 내부적으로 Java는 1970 년 1 월 1 일 자정부터 밀리 초 수로 날짜/시간을 저장합니다. C는 초 수를 사용합니다. 나는 다른 언어가 다른 계획을 사용한다고 확신한다.
언어 중립 의사 코드를 작성하여 화면에 쓰는 것을 설명 할 수있는 것처럼 언어 중립 의사 코드를 작성하여 두 날짜를 비교할 수 있습니다. 더 큰 문제를 해결하는 동안 언어의 기술 세부 사항을 추상화하려는 것이 목표라면, 좋습니다. 그러나 실제로 두 날짜를 비교하고 나중에 날짜 또는 나중에 날짜를 찾는 것이 목표이면 사용하는 특정 언어를 저장하고 날짜를 조작하는 방법에 대한 기술적 인 세부 사항에 답이 있습니다.
출처
2010-01-21 17:41:50
Jay
지역 및 날짜/시간 형식이 너무 광범위하다고 생각합니다. 어떤 문제를 해결하려고합니까? –
나는 여러 언어로 된 datetimes를 성공적으로 비교했기 때문에 언어에 무관심하다고 믿지 않습니다. 아마도 귀하의 언어 또는 구현의 지역 문제 일 것입니다. – Sejanus
시간 부분만을 비교하고 싶습니까? –