qdatetime 예제

QDateTime은 QTimeZone 클래스와 함께 현지 시간, UTC, UTC에서 지정된 오프셋 또는 지정된 표준 시간대에 대한 날짜 시간을 설명할 수 있습니다. 예를 들어 „유럽/베를린“의 표준 시간대는 1970년부터 독일에서 사용되는 일광 절약 규칙을 적용합니다. 반면, UTC의 오프셋은 +3600초로 UTC보다 1시간 앞서(일반적으로 ISO 표준 표기명으로 „UTC+01:00″로 작성됨)이며 일광 절약 오프셋이나 변경 사항은 없습니다. 현지 시간 또는 지정된 표준 시간대를 사용하는 경우 일광 절약 시간제(DST)의 시작 및 끝과 같은 표준 시간대 전환이 고려됩니다. 날짜 시간을 나타내는 데 사용되는 시스템의 선택은 „시간 사양“으로 설명됩니다. 이 예제에서는 현재 날짜 시간을 결정하고 일, 초, 월 및 연도를 추가하거나 뺍니다. 이 예제는 유닉스 시간을 인쇄하고 다시 QDateTime으로 변환합니다. 이 예제에서는 날짜 시간이 일광 절약 시간에 있는지 확인합니다. Qt:::시간스펙 Qt::TimeZone은 QTimeZone 클래스와 함께 지원됩니다.

이렇게 하면 일광 절약 전환 규칙의 일관된 집합을 준수 하는 명명 된 표준 시간대에서 날짜 시간을 정의할 수 있습니다. 예를 들어 „유럽/베를린“의 표준 시간대는 1970년부터 독일에서 사용되는 일광 절약 규칙을 적용합니다. 적용된 전환 규칙은 플랫폼 지원에 따라 다릅니다. 자세한 내용은 QTimeZone 설명서를 참조하십시오. Qt:::Qt::OffsetFromUTC의 시간 스펙도 지원됩니다. 이를 통해 UTC에서 지정된 시간(초)의 고정 오프셋에서 UTC를 기준으로 QDateTime을 정의할 수 있습니다. 예를 들어 +3600초의 오프셋은 UTC보다 1시간 앞서며 일반적으로 ISO 표준 표기명으로 „UTC+01:00″로 작성됩니다. 일광 절약 시간은 이 시간 사양에 적용되지 않습니다. 이 예제는 중부 유럽 시간(CET)-UTC + 1시간이 있는 브라티슬라바에서 실행되었습니다.

예제에서는 오늘을 위한 그레고리오 날짜와 율리우스일을 계산합니다. QDate를 검사할 때 예제에서 선택한 코드를 살펴보겠습니다. QDate의 샘플 코드에 대한 여기에 예제 프로젝트를 다운로드 할 수 있습니다 QDate의 샘플 코드에 대한 예제는 현재 범용 및 로컬 날짜와 시간을 결정합니다. 이 예제에서는 현재 날짜, 날짜 및 시간 및 시간을 다양한 형식으로 인쇄합니다. QDateTime은 표준 시간과 일광 절약 시간 사이의 전환을 고려합니다. 예를 들어 전환이 새벽 2시에 있고 시계가 새벽 3시로 진행되면 QDateTime이 유효하지 않은 것으로 간주하는 02:00:00 ~02:59:59.999의 „누락된“ 시간이 있습니다. 수행된 모든 연산은 이 누락된 시간을 고려하여 유효한 결과를 반환합니다. 예를 들어 01:59:59에 1분을 추가하면 03:00:00이 됩니다. 날짜는 다양한 다른 형식으로 나타낼 수 있습니다. Qt5에서는 사용자 지정 날짜 형식도 만들 수 있습니다.

toString() 메서드의 또 다른 버전은 다양한 형식 지정자를 사용할 수 있는 형식 문자열을 사용합니다. 예를 들어 d 지정기는 선행 0이 없는 숫자로 하루를 의미합니다. dd 지정기는 선행 0이 있는 숫자로 하루를 의미합니다. 다음 표에는 사용 가능한 날짜 형식 식이 나열됩니다: QDate는 모든 이진 비교 함수(====, <=, <, <=, <=)를 오버로드하므로 이전 날짜가 더 작은 것으로 간주되는 두 개의 QDate를 비교할 수 있습니다. 이 예제에서는 이 기능을 사용하지 않지만 날짜를 정렬해야 하는 응용 프로그램에 유용할 수 있습니다. 마지막으로 QDataStreams에서 QDates를 읽거나 쓸 수 있습니다. 예제 앱은 이러한 함수를 사용하여 사용자의 입력에 따라 업데이트된 날짜를 표시합니다. 이 예제에서는 선택한 날짜에 대한 월 및 연도의 일 수를 인쇄합니다.