문제

하루의 시작 시간과 종료 시간을 어떻게 표현 하는가?

2008 년 10 월 23 일을 예로 사용하면 2008-10-23 12:00:00 AM 및 종료 2008-10-23 11:59:59 PM?

도움이 되었습니까?

해결책

당신의 표기법은 이상합니다. 하루 종일 범위를 지정하는 표준 방법은 다음과 같습니다.

2008-10-23 00:00:00 및 마무리 2008-10-23 23:59:59

다른 팁

사이트를 인용하고 싶습니다. http://www.cl.cam.ac.uk/~mgk25/iso-time.html

시간의 국제 표준 표기법은

hh:mm:ss

여기서 HH는 자정 (00-24) 이후 통과 된 완전한 시간의 수이며, MM은 시간이 시작된 이후 (00-59)가 통과 한 완전한 시간 수이며 SS는 이후 이후 완전 초의 수입니다. 분의 시작 (00-60). 시간 값이 24 인 경우 분 및 두 번째 값은 0이어야합니다.

참고 : SS의 값 60은 조정 된 범용 시간 (UTC)과 같은 원자 시간 척도에서 삽입 된 도약 중에 때때로 필요할 수 있습니다. 단일 도약 23:59:60은 파리의 국제 지구 회전 서비스 (International Earth Rotation Service)가 발표 한 바와 같이 UTC가 덜 일정한 천문학적 시간 척도 UT1에서 0.9 초 이상 방황하는 것을 막기 위해 몇 년마다 UTC 시간 척도에 삽입됩니다. 지구의 실제 회전으로 정의됩니다. 실제로 당신은 23:59:60을 보여주는 시계를 볼 가능성이 높지 않습니다. 대부분의 동기화 된 클록은 도약 2 초가 발생한 후 어느 정도 UTC로 다시 동기화되거나, 도약 시간에 일시적으로 속도가 느려져, 범위 외 타임 스탬프가 원인이 될 수 있다는 혼란을 피하십시오.

예를 들어 시간은입니다

23:59:59

자정 전에 1 초를 나타냅니다.

날짜 표기법과 마찬가지로 분리 콜론은

235959

그리고 정밀도는 다음과 같이 초 또는 몇 분을 모두 생략함으로써 감소 될 수 있습니다.

23:59, 2359, or 23

소수점 점 또는 쉼표 후 1 초 만에 1 초를 추가 할 수도 있습니다. 예를 들어 자정 전 5.8ms가

23:59:59.9942 or 235959.9942

매일 자정이 시작되고 끝나면서, 두 가지 표기법 00 00과 24:00은 한 날짜와 연관 될 수있는 두 개의 자정을 구별 할 수 있습니다. 이것은 다음 두 가지 표기법이 정확히 같은 시점을 나타냅니다.

1995-02-04 24:00 = 1995-02-05 00:00

모호하지 않은 시간 표현이 필요한 경우, 00:00은 일반적으로 24:00이 아닌 자정에 선호되는 표기법입니다. 디지털 시계는 24:00이 아닌 00:00을 표시합니다.

ISO 8601은 표기법이 시점 또는 기간을 지정하는지 여부를 지정하지 않습니다. 예를 들어 ISO 8601은 09:00이 하루의 9 시간의 정확한 종료 또는 기간을 09:00에서 09:01까지 언급하는지 여부를 정의하지 않음을 의미합니다. 표준 사용자는 이것이 우려되는 경우 시간 표기법의 정확한 해석에 어떻게 동의해야합니다.

날짜와 시간이 같은 줄에 표시되면 항상 시간 앞에 날짜를 씁니다. 날짜와 시간 값이 단일 데이터 필드에 함께 저장되는 경우 ISO 8601은 19951231T235959와 같이 라틴 대문자 T로 분리되어야한다고 제안합니다.

미국 독자들을위한 발언 :

여기에 지정된 24 시간 시간 표기법은 이미 수십 년 동안 서면 언어로 전 세계의 필수 표준이었습니다. 유일한 예외는 몇몇 영어를 사용하는 국가이며, 여전히 1에서 12 시간 사이의 몇 시간이 지정되고 "AM"과 "PM"과 같은 추가가 널리 사용됩니다. 일반적인 24 시간 국제 표준 표기법은 영국에서도 널리 사용됩니다 (예 : 공항, 영화관, 버스/열차 시간표 등). 대부분의 다른 언어에는 "AM"및 "PM"과 같은 약어조차 없으며 12H 표기법은 유럽 대륙에서 시간을 쓰거나 표시하는 데 거의 사용되지 않습니다. 미국에서도 군사 및 컴퓨터 프로그래머는 오랫동안 24 시간 표기법을 사용해 왔습니다.

구 영어 12H 표기법에는 다음과 같은 많은 단점이 있습니다.

  • 일반 24 시간 표기법보다 길다.
  • 인간이 12H 표기법으로 두 번 비교하는 데 시간이 조금 더 걸립니다.
  • 00:00, 12:00 및 24:00이 어떻게 표현되는지는 분명하지 않습니다. 백과 사전 및 스타일 매뉴얼조차도 모순되는 설명이 포함되어 있으며 일반적인 빠른 수정은“12:00 AM/PM”을 피하고“정오”,“자정”또는“12:01 AM/PM”을 대신 쓰는 것 같습니다. "자정"이라는 단어는 여전히 00:00과 24:00을 구별하지 않습니다 (주어진 날의 시작 또는 끝에서 자정).
  • 사람들은 종종 다음 날이“오전 12시 59 분”에서“1:00 am”으로 오버플로에서 시작한다고 믿습니다. 이는 사람들이 자정 직후 VCR 타이머를 프로그래밍하려고 할 때뿐만 아니라 일반적인 문제입니다.
  • 문자열 비교 작업과 쉽게 비교할 수 없습니다.
  • “오전 12시/오후”와“1:00 am/pm”사이의 시간이 00:00 또는 12:00에 시작하든 영어 12h 표기법이 더 어렵다는 것을 알지 못하는 것은 명확하지 않습니다. 이해하다.

로마 숫자가 사용되었을 때 12 시간 시간은 암흑 시대의 유물로 고려하십시오. 숫자 0은 아직 발명되지 않았으며 아날로그 시계는 시간을 표시하는 유일한 알려진 형태였습니다. 오늘, 특히 기술 응용 프로그램에서 사용하지 마십시오! 미국에서도 널리 존경받는 시카고 매뉴얼은 이제 출판물에서 국제 표준 시간 표기법을 사용하는 것이 좋습니다.

확실히, 당신이 단지 1 일을 대표하고 싶다면, 당신은 시간을 전혀 포함시킬 필요가 없습니다. 특히 하루가 시작되거나 끝나는 시점에 대한 토론 수준을 높이기 때문에. 내 경험상, 날짜 처리는 일반적으로 추가 복잡성을 도입하지 않고 충분히 복잡합니다.

오늘은 2008 년 10 월 20 일입니다. 더 이상 정보가 필요하지 않습니다.

아니면 내가 뭔가를 놓치고 있습니까?

10 월 23 일은 2008-10-23 오전 12시에 시작하여 2008-10-24 오전 12시에 마무리합니다. 하루는 다음과 같은 지점에서 끝납니다. 마지막 두 번째는 오후 11시 59 분 59 초에 시작하지만 하루가 끝나기 전에 여전히 1 초가 남았습니다.

질문에서 언급 한 오늘의 정의는> = 2008-10-23 00:00:00 및 <2008-10-24 00:00:00입니다.

수학 간격 표기법을 사용하려면

[2008-10-23 00:00:00 , 2008-10-24 00:00:00)

그만큼 [ 포함을 의미합니다 ) 이지만 포함하지 않는 것을 의미합니다.

이런 식으로 사용자와 자신을 더 쉽게 할 수 있습니다.

그것은 당신이 하루 씩 의미하는 바에 달려 있습니다. 날짜 처리는 슬프게도 항상 보이는 것보다 더 복잡합니다.

예제를 24 시간 ISO 날짜 형식으로 변환하려면 다음과 같습니다.

2008-10-23 00:00:00 - 2008-10-23 23:59:59

그러나 범위를 하루의 마지막 순간을 생략 할 수있는 포괄적이거나 배타적으로 해석하는지 여부에 따라 다릅니다. 프로그래머는 일반적으로 상한을 배타적으로 유지하는 것을 선호하므로 다음을 수행 할 것입니다.

2008-10-23 00:00:00 - 2008-10-24 00:00:00

또는 지원되는 경우 (또는 인간의 가독성을 위해) 동일하게 진술하는 약간 더 좋은 방법으로 :

2008-10-23 00:00:00 - 2008-10-23 24:00:00

*: 실제로 둘 이상의 것입니다. 스팬이 UTC 시간대에서 하루를 나타내는 경우 (또는 다른 시간대에 정렬 될 가능성이 높습니다. UTC를 고급 시간에 맞게 유지하려고 시도하십시오. 다음 도약은 올해 말에 예정되어 있습니다. 그러나 많은 시스템은 어리 석고 성가신 약시가 몇 초를 무시합니다.

시간을 독립적으로 '캘린더 데이'를 대표하려면 가장 좋은 방법은 줄리안의 날 번호입니다. 오늘은 2454760입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top