QTimeZone Class
QTimeZone은 시간 표현이 UTC와 어떤 관계를 맺고 있는지 식별합니다. 더 보기...
| 헤더: | #include <QTimeZone> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
참고: 이 클래스의 모든 함수는 스레드 안전합니다.
QTimeZone 비교
| 범주 | 비교 가능한 유형 |
|---|---|
| 동등성 | QTimeZone |
공개 유형
| struct | OffsetData |
(since 6.5) enum | Initialization { LocalTime, UTC } |
| enum | NameType { DefaultName, LongName, ShortName, OffsetName } |
| OffsetDataList | |
| enum | TimeType { StandardTime, DaylightTime, GenericTime } |
공개 함수
| QTimeZone() | |
(since 6.5) | QTimeZone(QTimeZone::Initialization spec) |
| QTimeZone(const QByteArray &ianaId) | |
| QTimeZone(int offsetSeconds) | |
| QTimeZone(const QByteArray &zoneId, int offsetSeconds, const QString &name, const QString &abbreviation, QLocale::Territory territory = QLocale::AnyTerritory, const QString &comment = QString()) | |
| QTimeZone(const QTimeZone &other) | |
| QTimeZone(QTimeZone &&other) | |
| ~QTimeZone() | |
| QString | abbreviation(const QDateTime &atDateTime) const |
(since 6.5) QTimeZone | asBackendZone() const |
| QString | comment() const |
| int | daylightTimeOffset(const QDateTime &atDateTime) const |
| QString | displayName(QTimeZone::TimeType timeType, QTimeZone::NameType nameType = DefaultName, const QLocale &locale = QLocale()) const |
| QString | displayName(const QDateTime &atDateTime, QTimeZone::NameType nameType = DefaultName, const QLocale &locale = QLocale()) const |
(since 6.5) int | fixedSecondsAheadOfUtc() const |
(since 6.8) bool | hasAlternativeName(QByteArrayView alias) const |
| bool | hasDaylightTime() const |
| bool | hasTransitions() const |
| QByteArray | id() const |
| bool | isDaylightTime(const QDateTime &atDateTime) const |
(since 6.5) bool | isUtcOrFixedOffset() const |
| bool | isValid() const |
| QTimeZone::OffsetData | nextTransition(const QDateTime &afterDateTime) const |
| QTimeZone::OffsetData | offsetData(const QDateTime &forDateTime) const |
| int | offsetFromUtc(const QDateTime &atDateTime) const |
| QTimeZone::OffsetData | previousTransition(const QDateTime &beforeDateTime) const |
| int | standardTimeOffset(const QDateTime &atDateTime) const |
| void | swap(QTimeZone &other) |
(since 6.2) QLocale::Territory | territory() const |
(since 6.5) Qt::TimeSpec | timeSpec() const |
| CFTimeZoneRef | toCFTimeZone() const |
| NSTimeZone * | toNSTimeZone() const |
| QTimeZone::OffsetDataList | transitions(const QDateTime &fromDateTime, const QDateTime &toDateTime) const |
| QTimeZone & | operator=(QTimeZone &&other) |
| QTimeZone & | operator=(const QTimeZone &other) |
정적 공용 멤버
| const int | MaxUtcOffsetSecs |
| const int | MinUtcOffsetSecs |
| QList<QByteArray> | availableTimeZoneIds() |
| QList<QByteArray> | availableTimeZoneIds(QLocale::Territory territory) |
| QList<QByteArray> | availableTimeZoneIds(int offsetSeconds) |
| QTimeZone | fromCFTimeZone(CFTimeZoneRef timeZone) |
(since 6.5) QTimeZone | fromDurationAheadOfUtc(std::chrono::seconds offset) |
| QTimeZone | fromNSTimeZone(const NSTimeZone *timeZone) |
(since 6.5) QTimeZone | fromSecondsAheadOfUtc(int offset) |
(since 6.4) QTimeZone | fromStdTimeZonePtr(const std::chrono::time_zone *timeZone) |
| QByteArray | ianaIdToWindowsId(const QByteArray &ianaId) |
| bool | isTimeZoneIdAvailable(QByteArrayView ianaId) |
(since 6.5) bool | isUtcOrFixedOffset(Qt::TimeSpec spec) |
| QTimeZone | systemTimeZone() |
| QByteArray | systemTimeZoneId() |
| QTimeZone | utc() |
| QByteArray | windowsIdToDefaultIanaId(const QByteArray &windowsId) |
| QByteArray | windowsIdToDefaultIanaId(const QByteArray &windowsId, QLocale::Territory territory) |
| QList<QByteArray> | windowsIdToIanaIds(const QByteArray &windowsId) |
| QList<QByteArray> | windowsIdToIanaIds(const QByteArray &windowsId, QLocale::Territory territory) |
관련 비회원
| bool | operator!=(const QTimeZone &lhs, const QTimeZone &rhs) |
| bool | operator==(const QTimeZone &lhs, const QTimeZone &rhs) |
상세 설명
날짜와 시간이 결합될 때, 그 결과의 의미는 시간이 어떻게 표현되는지에 따라 달라집니다. 시간을 표현하는 데에는 다양한 국제 표준이 있으며, 그중 하나인 UTC는 그리니치 평균 태양시(일명 GMT)라는 전통적인 표준에 해당합니다. Qt가 지원하는 다른 모든 시간 체계는 궁극적으로 UTC를 기준으로 지정됩니다. 이 클래스의 인스턴스는 UTC와 다른 시간 표현 방식 간의 변환을 위한 상태 비저장 계산기를 제공합니다.
일부 시간 표현 방식은 단순히 UTC에 대한 고정된 오프셋으로 정의됩니다. 다른 것들은 각 정부에서 관할 구역 내에서 사용하도록 정의합니다. 후자는 엄밀히 말해 ‘시간대’로 알려져 있지만, QTimeZone(Qt 6.5부터)은 이러한 표현 방식을 일반적인 시간 체계의 표현 방식과 통합합니다. 대부분의 운영 체제에서 일반적으로 지원되는 한 가지 시간대는 ‘현지 시간’으로 지정되며, 이는 사용자가 거주하는 지역 내의 시간대와 일치하는 것으로 간주됩니다.
현지 시간, UTC 및 UTC로부터 고정된 오프셋을 가진 시간대 이외의 경우, Qt는 운영 체제가 해당 정보에 접근할 수 있는 방법을 제공할 때만 지원을 할 수 있습니다. Qt를 빌드할 때, ‘ timezone ’ 기능이 이러한 정보의 사용 가능 여부를 제어합니다. 이 기능이 활성화되지 않은 경우, QTimeZone의 일부 생성자 및 메서드는 API에서 제외되며, 이들은 ‘ timezone ’ 기능에 의존하는 것으로 문서화됩니다. Qt가 이 기능을 활성화한 상태로 빌드되었더라도, 시스템이 잘못 구성되었거나 일부 표준 패키지(예: Linux의 tzdata 패키지)가 설치되지 않은 사용자의 경우 이 기능을 사용할 수 없을 수 있습니다. 이 기능은 시간대 정보를 사용할 수 있을 때 기본적으로 활성화됩니다.
이 클래스는 주로 QDateTime 에서 사용하도록 설계되었습니다. 대부분의 애플리케이션은 이 클래스에 직접 액세스할 필요가 없으며, 대신 QDateTime 를 생성할 때 이 클래스의 인스턴스를 사용해야 합니다.
참고: QDateTime 과의 일관성을위해 , QTimeZone은 윤초를 고려하지 않습니다.
비고
QTimeZone은 QDateTime 과 마찬가지로 UTC로부터의 오프셋을 초 단위로 측정합니다. 이는 일반적으로 밀리초 단위로 시간을 측정하는 방식과는 대조적입니다. 실제 시간대의 UTC 오프셋은 적어도 1970년 훨씬 이전부터 일반적으로 5분(300초)의 정수 배수였습니다. UTC에 대한 양의 오프셋을 가진 시간 표현에서는 특정 날의 정오가 해당 날의 UTC 정오보다 앞선 것으로 나타납니다. 음의 오프셋을 가진 경우, 정오는 같은 날의 UTC 정오보다 늦게 나타납니다.
경량 시간 표현
QTimeZone은 ‘ timezone ’ 기능이 비활성화된 경우에도 UTC, 현지 시간 및 UTC로부터의 고정 오프셋을 표현할 수 있습니다. 이 기능을 활성화한 경우에도 동일한 표현 형식을 사용할 수 있으며, 이는 더 경량화된 형태이므로 ‘ timezone ’ 기능이 활성화되었을 때만 사용할 수 있는 메서드를 호출하지 않는 한, 이를 사용한 처리는 일반적으로 더 효율적입니다. 이러한 표현을 구성하는 방법에 대해서는 Initialization 및 QTimeZone::fromSecondsAheadOfUtc(int)를 참조하십시오.
이 문서는 시스템에서 제공하는 정보나 표준 정보로 설명되는 시간 표현을 지칭하는 “시간대(time zone)”와, 이러한 경량 형식을 포함하는 보다 일반적인 시간 표현을 구분합니다. timezone 기능이 활성화된 경우에만 사용할 수 있는 메서드는 경량 시간 표현보다 시간대에 대해 더 적은 비용을 소요하는 경향이 있으며, 경량 시간 표현의 경우 이러한 메서드가 쿼리를 전달할 적절한 임시 시간대 객체를 생성할 수 있습니다.
IANA 시간대 ID
QTimeZone은 IANA 시간대 데이터베이스(http://www.iana.org/time-zones)에 정의된 IANA 시간대 ID를 사용합니다. 이는 지원되는 모든 플랫폼에서 표준 ID를 보장하기 위함입니다. 대부분의 플랫폼은 IANA ID와 IANA 데이터베이스를 기본적으로 지원하지만, Windows의 경우 기본 ID로 매핑하는 과정이 필요합니다. 자세한 내용은 아래를 참조하십시오.
IANA ID는 정기적으로 변경될 수 있으며, 호스트 시스템 데이터가 가장 최근에 업데이트된 시기에 따라 달라질 수 있습니다. 따라서 특정 ID가 모든 호스트 시스템에 존재한다고 가정해서는 안 됩니다. 사용 가능한 IANA ID를 확인하려면 ` availableTimeZoneIds()`를 사용해야 합니다.
IANA ID와 데이터베이스는 데이터베이스를 최초로 구축한 사람의 이름을 따서 올슨(Olson) ID 및 데이터베이스라고도 불립니다.
UTC 오프셋 시간대
timezone 기능이 활성화되어 있으면 항상 사용할 수 있는 기본 UTC 시간대 백엔드가 제공됩니다. 이 백엔드는 UTC-16:00부터 UTC+16:00 범위의 일반적인 'UTC 기준 오프셋' 시간대 집합을 제공합니다. 이러한 시간대는 availableTimeZoneIds()에 나열된 "UTC+00:00"과 같은 표준 ISO 형식 이름을 사용하거나, 유사한 형식의 이름과 오프셋 초 수를 조합하여 생성할 수 있습니다.
Windows 시간대
Windows의 기본 시간대 지원은 표준 IANA TZ 데이터베이스에 비해 매우 제한적입니다. Windows 시간대는 더 넓은 지리적 영역을 포괄하기 때문에 변환 정확도가 떨어집니다. 또한 과거 데이터를 충분히 지원하지 않아 해당 연도에만 정확한 결과를 제공할 수 있습니다. 특히, MS의 시간대 데이터에서 1900년 이전에 일광 절약 시간제(DST)가 시행되었다고 주장하는 경우(이는 역사적으로 사실이 아닌 것으로 알려져 있음), 해당 주장은 무시되며 1900년에 (주장대로) 시행되었던 표준 시간이 항상 유효했던 것으로 간주합니다.
QTimeZone은 IANA ID와 Windows ID 간의 매핑을 위해 유니코드 CLDR 데이터에서 파생된 변환 테이블을 사용합니다. 사용 중인 Windows 및 Qt 버전에 따라 이 테이블이 유효한 변환을 제공하지 못할 수 있으며, 이 경우 "UTC"가 반환됩니다.
QTimeZone은 이 변환 테이블을 사용할 수 있는 공개 API를 제공합니다. 사용되는 Windows ID는 해당 시간대의 Windows 레지스트리 키이며, 이는 MS Exchange EWS ID와 동일하지만, 2007년 이전 버전의 MS Exchange에서 사용되던 시간대 이름(TZID) 및 COD 코드와는 다릅니다.
참고: Qt가 ICU 라이브러리와 함께 빌드된경우 , Windows 시스템 API 대신 ICU가 우선적으로 사용되며, 서로 다른 이름을 사용하는 해당 API로 인한 모든 문제가 우회됩니다.
WebAssembly
WebAssembly에서 QTimeZone은 백엔드 기반 형식으로 표현될 때 UTC 및 고정된 UTC 오프셋 시간대만 지원합니다. IANA 시간대 데이터베이스를 사용할 수 없으므로, ` availableTimeZoneIds()`와 같은 함수는 UTC 오프셋 시간대만 반환합니다. 시스템 시간대는 JavaScript의 ` Date.getTimezoneOffset() `를 통해 가져오며, 지리적 IANA ID가 아닌 고정 오프셋(예: "UTC+02:00")으로 표현됩니다. 그러나 `QTimeZone(QTimeZone::LocalTime)`은 플랫폼의 표준 시간 함수를 사용하므로 현지 시간을 정확하게 표현합니다.
시스템 시간대
systemTimeZoneId() 메서드는 현재 시스템의 IANA 시간대 ID를 반환하며, 유닉스 계열 시스템에서는 이 값이 항상 정확합니다. Windows에서는 이 ID가 내부 변환 테이블과 사용자가 선택한 국가를 사용하여 Windows 시스템 ID에서 변환됩니다. 그 결과, 일부 Windows 설치 환경에서 Qt가 인식하지 못하는 ID가 있을 가능성이 아주 적게 존재하며, 이 경우 "UTC"가 반환됩니다.
시스템 시간대 ID를 사용하여 새로운 QTimeZone 인스턴스를 생성하면 해당 시간대의 고정된 이름의 복사본만 생성되며, 시스템 시간대가 변경되어도 이 인스턴스는 변경되지 않습니다. QTimeZone::systemTimeZone()는 이 시스템 ID로 명명된 시간대를 나타내는 인스턴스를 반환합니다. 이 시스템 시간대를 사용하여 ` QDateTime `를 생성하는 것은 ` Qt::LocalTime `를 ` Qt::TimeSpec`로 사용하는 ` QDateTime `를 생성하는 것과는 다르게 동작할 수 있다는 점에 유의하십시오. 후자는 로컬 시간 정보에 접근하기 위해 시스템 API를 직접 사용하며, 이로 인해 동작 방식이 다를 수 있고(특히, 사용자가 시스템 시간대 설정을 조정할 경우 이에 맞춰 변경될 수 있습니다).
시간대 오프셋
UTC와 특정 시간대의 현지 시간 간의 차이는 UTC로부터의 오프셋(초)으로 표현되며, 즉 현지 시간을 구하기 위해 UTC에 더해야 하는 초 수를 의미합니다. 총 오프셋은 표준시 오프셋과 일광 절약 시간 오프셋이라는 두 가지 구성 요소로 이루어집니다. 표준 시간 오프셋은 해당 시간대의 표준 시간을 구하기 위해 UTC에 더해야 하는 초 수입니다. 일광 절약 시간 오프셋은 해당 시간대의 일광 절약 시간(DST로 약칭되며, 때로는 “일광 시간” 또는 “여름 시간”이라고도 함)을 구하기 위해 표준 시간 오프셋에 더해야 하는 초 수입니다. 일반적인 DST 방식(겨울에는 표준시, 여름에는 DST 사용)의 경우 일광 절약 시간 오프셋은 양수입니다. 그러나 일부 시간대에서는 겨울에 음수의 DST 오프셋을 사용하고, 여름에는 표준시를 적용하기도 합니다.
각국의 일광 절약 시간제 관련 법률이나 표준 시간 오프셋이 변경됨에 따라, 특정 시간대의 표준 시간 및 일광 절약 시간 오프셋은 시간이 지남에 따라 달라질 수 있다는 점에 유의하십시오.
라이선스
이 클래스에는 유니코드 데이터 파일 및 소프트웨어 라이선스(Unicode Data Files and Software License)의 조건에 따라 CLDR 데이터 파일에서 얻은 데이터가 포함되어 있습니다. 자세한 내용은 유니코드 공통 로케일 데이터 저장소(CLDR) 를 참조하십시오.
QDateTime 및 QCalendar도 참조하십시오 .
멤버 유형 설명서
[since 6.5] enum QTimeZone::Initialization
가장 단순한 경량 시간 표현형의 유형입니다.
이 열거형은 추가 데이터가 필요하지 않은 경우, ` QTimeZone ` 생성자에 전달할 경량 시간 표현형의 유형을 식별합니다. 이들은 ` Qt::TimeSpec`의 동명 멤버들에 해당합니다.
| 상수 | 값 | 설명 |
|---|---|---|
QTimeZone::LocalTime | 0 | 이 시간 표현은 time_t 및 struct tm 값을 사용하여 현지 시간과 UTC 시간 간을 매핑하는 시스템 함수에서 암시적으로 사용하는 표현과 일치합니다. |
QTimeZone::UTC | 1 | 이 시간 표현 방식인 협정 세계시(Coordinated Universal Time)는 지원되는 모든 시간 표현 방식에서 현지 시간을 참조하는 기준이 되는 기본 표현 방식입니다. 이는 국제전기통신연합(ITU)에 의해 정의되었습니다. |
이 열거형은 Qt 6.5에서 도입되었습니다.
enum QTimeZone::NameType
시간대 이름의 유형.
| 상수 | 값 | 설명 |
|---|---|---|
QTimeZone::DefaultName | 0 | 시간대 이름의 기본 형식. LongName, ShortName 또는 OffsetName 중 하나입니다. |
QTimeZone::LongName | 1 | 시간대 이름의 긴 형식. 예: "Central European Time" |
QTimeZone::ShortName | 2 | 시간대 이름의 짧은 형식. 해당 시간대에 대한 약어가 있는 로케일의 경우 대개 약어(예: "CET")를 사용하며, 그렇지 않은 경우 간결한 GMT 오프셋 형식(예: "GMT+1")을 사용합니다. |
QTimeZone::OffsetName | 3 | 시간대 이름의 표준 ISO 오프셋 형식(예: "UTC+01:00") |
이 유형은 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
QTimeZone::OffsetDataList
QList<OffsetData>의 동의어입니다.
이 유형은 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
enum QTimeZone::TimeType
시간대의 이름은 UTC에 대한 표준 시차 값을 사용하는지, 아니면 해당 시차 값에 일광 절약 시간제 조정을 적용하는지에 따라 계절에 따라 달라질 수 있습니다. 이러한 경우, 일반적으로 계절에 관계없이 적용되는 전체적인 이름도 함께 존재합니다. 시간대의 표시 이름을 요청할 때, 이 유형은 어떤 이름을 사용할지 지정합니다. 일광 절약 시간제(DST)를 적용하지 않는 시간대의 경우, 세 가지 값 모두 동일한 결과를 반환할 수 있습니다.
| 상수 | 값 | 설명 |
|---|---|---|
QTimeZone::StandardTime | 0 | 해당 시간대의 표준 시간 이름입니다. 예를 들어, "Pacific Standard Time"입니다. |
QTimeZone::DaylightTime | 1 | 일광 절약 시간제가 시행 중일 때의 시간대 이름입니다. 예를 들어, "Pacific Daylight Time"입니다. |
QTimeZone::GenericTime | 2 | 일광 절약 시간제 적용 여부와 관계없이 해당 시간대를 지칭하는 이름입니다. 예: "태평양 표준시". |
이 유형은 ' timezone ' 기능이 활성화된 경우에만 사용할 수 있습니다.
멤버 함수 설명서
[noexcept] QTimeZone::QTimeZone()
null이거나 유효하지 않은 시간대 인스턴스를 생성합니다.
[noexcept, since 6.5] QTimeZone::QTimeZone(QTimeZone::Initialization spec)
UTC 또는 현지 시간을 나타내는 경량 인스턴스를 생성합니다.
이 함수는 Qt 6.5에서 도입되었습니다.
fromSecondsAheadOfUtc(), asBackendZone(), utc(), systemTimeZone()도 참조하십시오 .
[explicit] QTimeZone::QTimeZone(const QByteArray &ianaId)
요청된 IANA ID ianaId 를 사용하여 시간대 인스턴스를 생성합니다.
ID는 사용 가능한 시스템 ID 중 하나이거나 유효한 오프셋이 포함된 UTC ID여야 하며, 그렇지 않은 경우 유효하지 않은 시간대가 반환됩니다. 오프셋이 포함된 UTC ID의 경우, 실제로 IANA ID가 아닐 때 결과 인스턴스의 id() 가 생성자에 전달된 ID와 다를 수 있습니다.
이 생성자는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
availableTimeZoneIds() 및 id()도 참조하십시오 .
[explicit] QTimeZone::QTimeZone(int offsetSeconds)
UTC를 기준으로 지정된 오프셋( offsetSeconds)을 가진 시간대 인스턴스를 생성합니다.
UTC 기준 offsetSeconds 는 -16시간에서 +16시간 사이여야 하며, 그렇지 않으면 유효하지 않은 시간대 인스턴스가 반환됩니다.
이 생성자는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다. 반환된 인스턴스는 시간대(time zone)로 구현되었지만, 경량 시간 표현( QTimeZone::fromSecondsAheadOfUtc(offsetSeconds))과 동일합니다.
MinUtcOffsetSecs, MaxUtcOffsetSecs 및 id()도 참조하십시오 .
QTimeZone::QTimeZone(const QByteArray &zoneId, int offsetSeconds, const QString &name, const QString &abbreviation, QLocale::Territory territory = QLocale::AnyTerritory, const QString &comment = QString())
UTC로부터 고정된 오프셋을 가진 사용자 정의 시간대 인스턴스를 생성합니다.
반환된 시간대의 ID는 zoneId 이며, UTC에 대한 오프셋은 offsetSeconds 입니다. name 은 displayName()에서 LongName 에 대해 사용하는 이름이 되며, abbreviation 은 displayName()에서 ShortName 및 abbreviation()에 사용되며, 선택 사항인 territory 은 territory()에서 사용됩니다. comment 은 사용자가 시간대를 선택하는 데 도움을 주기 위해 GUI에 표시될 수 있는 선택적 설명입니다.
UTC를 기준으로 한 offsetSeconds 는 -16시간에서 +16시간 사이여야 합니다. zoneId 는 availableTimeZoneIds()에 나타나지 않는 UTC 오프셋 이름인 경우를 제외하고, isTimeZoneIdAvailable()가 true인 ID여서는 안 됩니다.
사용자 정의 시간대에 특정 지역이 없는 경우, 기본값인 QLocale::AnyTerritory 로 설정하십시오.
이 생성자는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
id(), offsetFromUtc(), displayName(), abbreviation(), territory(), comment(), MinUtcOffsetSecs 및 MaxUtcOffsetSecs도 참조하십시오 .
[noexcept] QTimeZone::QTimeZone(const QTimeZone &other)
복사 생성자: ` other `를 `this`로 복사합니다.
[noexcept] QTimeZone::QTimeZone(QTimeZone &&other)
other 에서 이 객체의 이동 생성자를 가져왔습니다.
[noexcept] QTimeZone::~QTimeZone()
시간대를 삭제합니다.
QString QTimeZone::abbreviation(const QDateTime &atDateTime) const
지정된 atDateTime 에 대한 시간대 약어를 반환합니다.
이 약어는 일광 절약 시간제(DST)나 역사적 사건에 따라 변경될 수 있습니다.
참고: 이 약어가 해당 시간대에 대해 고유하다고 보장되지 않으므로, ID나 표시 이름 대신 사용해서는 안 됩니다. 약어는 기본 운영 체제에 따라 현지화될 수 있습니다. 일관된 현지화를 얻으려면 displayName(atDateTime, QTimeZone::ShortName, locale) 를 사용하십시오.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
displayName()도 참조하십시오 .
[since 6.5] QTimeZone QTimeZone::asBackendZone() const
이 QTimeZone 를 timeSpec()의 결과가 Qt::TimeZone 인 것으로 변환합니다.
모든 경우에, 결과의 ` timeSpec()`는 ` Qt::TimeZone`입니다. 이 ` QTimeZone`의 ` timeSpec()`가 ` Qt::TimeZone`일 때, 이 ` QTimeZone ` 자체가 반환됩니다. ` timeSpec()`가 ` Qt::LocalTime `일 경우, ` systemTimeZone()`가 반환됩니다.
timeSpec()가 Qt::UTC 인 경우, QTimeZone::utc()가 반환됩니다. Qt::OffsetFromUTC 인 경우, QTimeZone(int)에 오프셋을 전달하여 그 결과를 반환합니다.
경량 시간 표현(현지 시간, UTC 시간 또는 UTC로부터 고정된 오프셋을 가진 시간)을 사용할 때, timezone 기능이 활성화된 경우에만 지원되는 메서드를 사용하는 것은 해당 시간대를 사용하는 것보다 더 많은 비용이 들 수 있습니다. 이 메서드는 경량 시간 표현을 해당 시간대, 즉 시스템에서 제공하는 데이터나 표준 데이터를 기반으로 한 인스턴스로 매핑합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
이 함수는 Qt 6.5에서 도입되었습니다.
QTimeZone(QTimeZone::Initialization) 및 fromSecondsAheadOfUtc()도 참조하십시오 .
[static] QList<QByteArray> QTimeZone::availableTimeZoneIds()
이 시스템에서 사용 가능한 시간대 ID 목록을 반환합니다.
여기에는 시스템 시간대 정보 소스에서 지원하는 각 시간대에 대한 IANA ID와, 이에 대한 일부 별칭, 그리고 일반적으로 사용되는 제한된 범위의 UTC 오프셋 ID가 포함됩니다.
QTimeZone 생성자는 반환된 목록에 포함되지 않은 일부 UTC 오프셋 ID도 허용합니다. 가능한 모든 UTC 오프셋 ID를 나열하는 것은 비실용적이기 때문입니다. 또한 지원되는 IANA ID에 대한 알려진 별칭도 허용하며, 이들 중 일부는 이 목록에 나타나지 않을 수 있습니다. 이러한 ID는 isTimeZoneIdAvailable()에서도 허용됩니다.
유니코드 컨소시엄의 공통 로케일 데이터 저장소(CLDR)가 지원되는 IANA ID를 해당 영역의 안정된 이름에 대한 별칭으로 간주하는 경우, 해당 시간대의 안정명도 (비록 최신 정보가 아닐 수 있더라도) 목록에 포함됩니다. 이는 안정성을 확보하기 위함일 뿐만 아니라, 서로 다른 시스템 시간대 정보 소스가 동일한 시간대에 대해 서로 다른 별칭을 사용하는 경우를 대비한 크로스 플랫폼 공통 기준이기도 합니다.
이 방법은 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
isTimeZoneIdAvailable() 및 hasAlternativeName()도 참조하십시오 .
[static] QList<QByteArray> QTimeZone::availableTimeZoneIds(QLocale::Territory territory)
주어진 territory 에 대해 사용 가능한 모든 IANA 시간대 ID 목록을 반환합니다.
특별한 경우로, territory 값이 AnyTerritory 인 경우 UTC와 같이 특정 지역과 연관되지 않은 시간대를 선택하며, World 인 경우 전역 기본 IANA ID가 있는 시간대를 선택합니다. 모든 지역의 모든 시간대 ID 목록이 필요한 경우에는 표준 availableTimeZoneIds() 메서드를 사용하십시오.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
isTimeZoneIdAvailable() 및 territory()도 참조하십시오 .
[static] QList<QByteArray> QTimeZone::availableTimeZoneIds(int offsetSeconds)
offsetSeconds 의 표준 시간 오프셋을 갖는 사용 가능한 모든 IANA 시간대 ID 목록을 반환합니다.
지정된 오프셋이 지원되는 경우, QTimeZone(offsetSeconds).id() 는 IANA ID가 아니더라도 목록에 포함됩니다. 이는 지정된 오프셋을 가진 IANA UTC 오프셋 ID가 없을 때만 발생합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
isTimeZoneIdAvailable() 및 QTimeZone(int)도 참조하십시오 .
QString QTimeZone::comment() const
해당 시간대에 대한 설명을 반환합니다.
호스트 플랫폼에서 사용자가 올바른 시간대를 선택할 수 있도록 돕기 위해 설명문을 제공할 수 있습니다. 플랫폼에 따라 이 설명문이 현지화되지 않을 수도 있습니다.
이 메서드는 ` timezone ` 기능이 활성화된 경우에만 사용할 수 있습니다.
int QTimeZone::daylightTimeOffset(const QDateTime &atDateTime) const
지정된 시간대( atDateTime)의 일광 절약 시간 오프셋, 즉 표준 시간 오프셋에 더하여 현지 일광 절약 시간을 구하기 위해 추가해야 하는 초 수를 반환합니다.
예를 들어, "Europe/Berlin" 시간대의 일광 절약 시간 오프셋은 +3600초입니다. 표준 시간대에서는 daylightTimeOffset()이 0을 반환하고, 일광 절약 시간이 적용되는 기간에는 +3600을 반환합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
offsetFromUtc() 및 standardTimeOffset()도 참조하십시오 .
QString QTimeZone::displayName(QTimeZone::TimeType timeType, QTimeZone::NameType nameType = DefaultName, const QLocale &locale = QLocale()) const
지역화된 시간대 표시 이름을 반환합니다.
반환되는 이름은 지정된 ` locale`에 해당하는 것으로, 지정된 ` timeType `이 적용되는 시점에 유효하며 ` nameType`에 명시된 형식을 따릅니다. 시간대 표시 이름이 시간이 지남에 따라 변경된 경우, 현재 이름이 사용됩니다. 지정된 유형에 맞는 현지화된 이름이 없는 경우, 다른 이름 유형이 사용되거나 빈 문자열이 반환될 수 있습니다.
locale 가 제공되지 않으면 애플리케이션의 기본 로케일이 사용됩니다. 클라이언트 코드에서 생성된 사용자 정의 시간대의 경우, 해당 시간대에 대한 현지화 데이터가 없으므로 생성자에 전달된 데이터가 사용됩니다. 이 시간대가 유효하지 않은 경우, 빈 문자열이 반환됩니다. 시스템 시간대 확인에 실패한 경우 현지 시간 표현 시에도 이와 같은 상황이 발생할 수 있습니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
abbreviation()도 참조하십시오 .
QString QTimeZone::displayName(const QDateTime &atDateTime, QTimeZone::NameType nameType = DefaultName, const QLocale &locale = QLocale()) const
지역화된 시간대 표시 이름을 반환합니다.
반환되는 이름은 지정된 locale 에 대한 것으로, 지정된 atDateTime 에 적용되며, nameType 에서 지정한 형식을 따릅니다. 표시 이름은 일광 절약 시간제(DST)나 역사적 사건에 따라 변경될 수 있습니다. 지정된 유형에 대해 적절한 현지화된 이름을 사용할 수 없는 경우, 다른 이름 유형이 사용되거나 빈 문자열이 반환될 수 있습니다.
locale 가 제공되지 않으면 애플리케이션의 기본 로케일이 사용됩니다. 클라이언트 코드에서 생성된 사용자 정의 시간대의 경우, 해당 시간대에 대한 현지화 데이터가 없으므로 생성자에 제공된 데이터가 사용됩니다. 이 시간대가 유효하지 않은 경우, 빈 문자열이 반환됩니다. 시스템 시간대 확인에 실패한 경우 현지 시간 표현 시에도 이와 같은 상황이 발생할 수 있습니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
abbreviation()도 참조하십시오 .
[constexpr noexcept, since 6.5] int QTimeZone::fixedSecondsAheadOfUtc() const
timeSpec()의 값이 Qt::OffsetFromUTC 인 경량 시간 표현식의 경우, 이 함수는 해당 표현식이 나타내는 UTC에 대한 고정 오프셋을 반환합니다. 그 외의 모든 시간 표현식의 경우, 해당 표현식이 UTC에 대해 일정한 오프셋을 가지고 있더라도 0을 반환합니다.
이 함수는 Qt 6.5에서 도입되었습니다.
[static] QTimeZone QTimeZone::fromCFTimeZone(CFTimeZoneRef timeZone)
timeZone 의 복사본을 포함하는 새로운 QTimeZone 객체를 생성합니다.
toCFTimeZone()도 참조하십시오 .
[static, since 6.5] QTimeZone QTimeZone::fromDurationAheadOfUtc(std::chrono::seconds offset)
[static, since 6.5] QTimeZone QTimeZone::fromSecondsAheadOfUtc(int offset)
UTC보다 앞서 있는 고정된 세계 표준 시간( offset)을 초 단위로 나타낸 시간을 반환합니다.
UTC로부터의 시간 오프셋( offset )은 -16시간에서 +16시간 사이여야 하며, 그렇지 않으면 유효하지 않은 시간대가 반환됩니다. 반환된 ` QTimeZone `는 (시스템에서 제공하거나 표준 데이터에 기반한) 시간대가 아닌 경량 시간 표현입니다.
오프셋이 0인 경우, 반환된 인스턴스의 timeSpec() 값은 Qt::UTC 가 됩니다. 그렇지 않은 경우, offset 가 유효하면 timeSpec() 값은 Qt::OffsetFromUTC 가 됩니다. 유효하지 않은 시간대가 반환될 경우, 해당 timeSpec() 값은 Qt::TimeZone 가 됩니다.
이 함수들은 Qt 6.5에서 도입되었습니다.
QTimeZone(int), asBackendZone(), fixedSecondsAheadOfUtc(), MinUtcOffsetSecs 및 MaxUtcOffsetSecs도 참조하십시오 .
[static] QTimeZone QTimeZone::fromNSTimeZone(const NSTimeZone *timeZone)
timeZone 의 복사본을 포함하는 새로운 QTimeZone 객체를 생성합니다.
toNSTimeZone()도 참조하십시오 .
[static, since 6.4] QTimeZone QTimeZone::fromStdTimeZonePtr(const std::chrono::time_zone *timeZone)
timeZone 와 동일한 시간대를 나타내는 QTimeZone 객체를 반환합니다. timeZone 의 IANA ID는 사용 가능한 시스템 ID 중 하나여야 하며, 그렇지 않을 경우 유효하지 않은 시간대가 반환됩니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
이 함수는 Qt 6.4에서 도입되었습니다.
[since 6.8] bool QTimeZone::hasAlternativeName(QByteArrayView alias) const
alias 가 이 시간대의 별칭인 경우, ` true `를 반환합니다.
IANA(구 Olson) 데이터베이스는 그 역사 동안 일부 시간대의 이름을 변경해 왔습니다. 또한 1970년 이전에는 서로 달랐으나 현재는 동의어로 취급되는 시간대도 있습니다. 일부 백엔드는 1970년 이전의 데이터까지 보유하고 있어 후자의 경우 서로 다른 시간대를 반환할 수 있습니다. 다른 백엔드는 id()을 통해만 구별할 수 있는 시간대를 반환할 수도 있습니다. 이 메서드는 특정 ID가 (적어도 1970년 이후부터) 이 시간대 객체가 설명하는 것과 동일한 시간대를 가리키는지 여부를 판단합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
이 함수는 Qt 6.8에서 도입되었습니다.
isTimeZoneIdAvailable()도 참조하십시오 .
bool QTimeZone::hasDaylightTime() const
해당 시간대에서 어느 시점에든 일광 절약 시간제를 시행한 적이 있으면 true 를 반환합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
isDaylightTime() 및 daylightTimeOffset()도 참조하십시오 .
bool QTimeZone::hasTransitions() const
시스템 백엔드가 전환 정보 획득을 지원하는 경우 ` true `를 반환합니다.
전환은 시간대의 변경을 의미하며, 일광 절약 시간제(DST)가 시작되거나 종료될 때, 또는 당국이 시간대의 오프셋을 변경할 때 발생합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
참고: 이는 이 객체가 설명하는 시간대의 속성이 아니라, 일반적으로 시스템 라이브러리에서 해당 시간대에 대한 데이터를 제공하는 백엔드의 속성입니다. 이 속성은 다른 전환 관련 함수들이 사용할 수 있는 정보가 있는지 여부를 알려줍니다.
nextTransition(), previousTransition(), transitions()도 참조하십시오 .
[static] QByteArray QTimeZone::ianaIdToWindowsId(const QByteArray &ianaId)
지정된 ‘ ianaId ’에 해당하는 Windows ID를 반환합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
windowsIdToDefaultIanaId() 및 windowsIdToIanaIds()도 참조하십시오 .
QByteArray QTimeZone::id() const
해당 시간대의 IANA ID를 반환합니다.
IANA ID는 모든 플랫폼에서 사용됩니다. Windows에서는 해당 시간대와 지역에 대해 Windows ID를 가장 잘 일치하는 IANA ID로 변환합니다.
이 시간대 인스턴스가 IANA ID를 사용하여 생성되지 않은 경우, 해당 ID는 생성 방식에 따라 결정됩니다. 대부분의 경우, 인스턴스 생성 시 전달된 ID가 사용됩니다. (사용자 정의 시간대 생성자는 전달받은 ID를 사용하며, 이 ID는 IANA ID가 아니어야 합니다.) 두 가지 예외가 있습니다.
- 초 단위의 UTC 오프셋만 전달하여 생성된 인스턴스의 경우, 생성 시 전달된 ID가 없습니다.
- IANA ID만 받는 생성자는 실제로 IANA ID가 아닌 일부 UTC 오프셋 ID도 허용합니다. 이러한 경우의 처리는 첫 번째 예외와 마찬가지로 해당 오프셋을 초 단위로 전달하는 것과 동일합니다.
이 두 가지 예외적인 경우, 지정된 오프셋을 가진 IANA UTC 오프셋 구역이 존재하면, 생성된 인스턴스는 생성자에 전달된 (비-IANA) UTC 오프셋 ID와 다를 수 있더라도 해당 IANA 구역의 ID를 사용합니다. 그렇지 않은 경우, 인스턴스는 UTC±hh:mm:ss 형식으로 오프셋을 합성하여 생성된 ID를 사용하며, 0초 또는 0분의 경우 끝에 오는 :00은 생략합니다. 이 경우에도 생성자에 전달된 UTC 오프셋 ID와 다를 수 있습니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
bool QTimeZone::isDaylightTime(const QDateTime &atDateTime) const
지정된 날짜 atDateTime 에 일광 절약 시간제가 시행 중이었는지 여부를 나타내는 true 값을 반환합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
hasDaylightTime() 및 daylightTimeOffset()도 참조하십시오 .
[static] bool QTimeZone::isTimeZoneIdAvailable(QByteArrayView ianaId)
지정된 시간대 ianaId 가 이 시스템에서 사용 가능한 경우, ` true `를 반환합니다.
이는 실제로 IANA ID가 아닌 일부 텍스트(특히 UTC 오프셋 ID)나, availableTimeZoneIds()에 나열되지 않은 지원되는 IANA ID의 알려진 별칭의 경우에도 해당될 수 있습니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
availableTimeZoneIds() 및 hasAlternativeName()도 참조하십시오 .
[constexpr noexcept, since 6.5] bool QTimeZone::isUtcOrFixedOffset() const
timeSpec()의 결과가 Qt::UTC 또는 Qt::OffsetFromUTC 인 경우, true 을 반환합니다.
이 값이 true인 경우, 시간 설명은 시간이 지나도 변하지 않습니다. 예를 들어, 현지 시간이나 시간대에서 발생할 수 있는 계절에 따른 일광 절약 시간제 변경과 같은 변화가 없습니다. 이를 알면 호출하는 코드에서 다양한 추가 검사를 수행할 필요가 없어집니다.
이 함수는 Qt 6.5에서 도입되었습니다.
[static constexpr noexcept, since 6.5] bool QTimeZone::isUtcOrFixedOffset(Qt::TimeSpec spec)
spec 가 Qt::UTC 또는 Qt::OffsetFromUTC 인 경우 true 를 반환합니다.
이 함수는 Qt 6.5에서 도입되었습니다.
bool QTimeZone::isValid() const
이 시간대가 유효한 경우 ` true `를 반환합니다.
QTimeZone::OffsetData QTimeZone::nextTransition(const QDateTime &afterDateTime) const
지정된 ` afterDateTime` 이후의 첫 번째 시간대 전환을 반환합니다. 이 기능은 전환 시간이 주어졌을 때, 그 이후의 전환을 찾고자 할 때 가장 유용합니다.
지정된 ` afterDateTime ` 이후에 `Transition`이 없는 경우, `invalid` ` OffsetData `이 반환되며, ` atUtc`에는 `invalid` ` QDateTime `이 포함됩니다.
지정된 ' afterDateTime '은 배타적입니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
hasTransitions(), previousTransition() 및 transitions()도 참조하십시오 .
QTimeZone::OffsetData QTimeZone::offsetData(const QDateTime &forDateTime) const
지정된 forDateTime 에 대한 유효 오프셋 세부 정보를 반환합니다.
이는 abbreviation()을 호출하거나 세 가지 오프셋 함수를 개별적으로 호출하는 것과 동일하지만, 더 효율적일 수 있으며 약어에 대해 다른 지역화 결과를 반환할 수도 있습니다. 지정된 날짜/시간에 대해 이 데이터를 사용할 수 없는 경우, 유효하지 않은 OffsetData 가 반환되며, 그 atUtc 에는 유효하지 않은 QDateTime 가 포함됩니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
offsetFromUtc(), standardTimeOffset(), daylightTimeOffset(), abbreviation()도 참조하십시오 .
int QTimeZone::offsetFromUtc(const QDateTime &atDateTime) const
지정된 타임존( atDateTime)에서 총 유효 오프셋, 즉 현지 시간을 구하기 위해 UTC에 더해야 할 초 수를 반환합니다. 여기에는 적용될 수 있는 일광절약시간(DST) 오프셋이 포함되며, 즉 지정된 날짜 및 시간에 대한 standardTimeOffset()와 daylightTimeOffset()의 합계입니다.
예를 들어, "Europe/Berlin" 시간대의 경우 표준 시간 오프셋은 +3600초이고 일광 절약 시간(DST) 오프셋도 +3600초입니다. 표준 시간 동안 offsetFromUtc()는 +3600(UTC+01:00)을 반환하고, 일광 절약 시간 동안에는 +7200(UTC+02:00)을 반환합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
standardTimeOffset() 및 daylightTimeOffset()도 참조하십시오 .
QTimeZone::OffsetData QTimeZone::previousTransition(const QDateTime &beforeDateTime) const
지정된 beforeDateTime 보다 앞선 첫 번째 시간대 전환(Transition)을 반환합니다. 이 기능은 전환 시간이 주어졌을 때, 그보다 앞선 전환을 찾고자 할 때 가장 유용합니다.
지정된 ` beforeDateTime `보다 앞선 `Transition`이 없는 경우, `invalid` ` OffsetData `이 반환되며, 이때 ` atUtc`에는 `invalid` ` QDateTime `이 포함됩니다.
지정된 beforeDateTime 는 배타적입니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
hasTransitions(), nextTransition() 및 transitions()도 참조하십시오 .
int QTimeZone::standardTimeOffset(const QDateTime &atDateTime) const
지정된 atDateTime 에 대한 표준 시간 오프셋, 즉 UTC에 더하여 현지 표준 시간을 구하기 위해 추가해야 하는 초 수를 반환합니다. 여기에는 적용될 수 있는 일광 절약 시간(DST) 오프셋은 포함되지 않습니다.
예를 들어, "Europe/Berlin" 시간대의 표준 시간 오프셋은 +3600초입니다. 표준 시간 및 일광 절약 시간(DST) 기간 모두에서 offsetFromUtc()는 +3600(UTC+01:00)을 반환합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
offsetFromUtc() 및 daylightTimeOffset()도 참조하십시오 .
[noexcept] void QTimeZone::swap(QTimeZone &other)
이 시간대 인스턴스를 other 로 교체합니다. 이 작업은 매우 빠르게 수행되며 실패하는 일이 없습니다.
[static] QTimeZone QTimeZone::systemTimeZone()
로컬 시스템 시간을 나타내는 ` QTimeZone ` 객체를 반환합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다. 반환된 인스턴스는 일반적으로 경량 시간 표현식( QTimeZone(QTimeZone::LocalTime))과 동일하지만, 시간대 형태로 구현됩니다.
반환된 객체는 이후 시스템 시간대의 변경 사항을 반영하여 변경되지 않습니다. 이 객체는 asBackendZone()이 호출되었을 당시 유효했던 로컬 시간을 나타냅니다. Qt가 컴파일된 백엔드가 의존하는 시간대 데이터가 없는 등 잘못 구성된 시스템에서는 이 객체가 유효하지 않을 수 있습니다. 이러한 경우 경고가 출력됩니다.
utc(), Initialization, asBackendZone() 및 systemTimeZoneId()도 참조하십시오 .
[static] QByteArray QTimeZone::systemTimeZoneId()
현재 시스템 시간대의 IANA ID를 반환합니다.
systemTimeZone() 및id()를 호출하는 것과 동일하지만, 이를 얻기 위한 일부 계산 과정을 생략할 수 있습니다. 반환된 바이트 배열을 사용하여 QTimeZone 를 생성하면 systemTimeZone()와 동일한 결과가 나옵니다.
백엔드가 올바른 시스템 시간대를 파악할 수 없는 경우, 결과는 비어 있습니다. 이 경우, systemTimeZone() 및isValid()의 값은 false이며, systemTimeZone() 메서드가 호출되면 경고가 출력됩니다.
백엔드가 올바른 시스템 영역을 파악할 수 있지만 그 이름을 파악할 수 없는 경우, 빈 바이트 배열이 반환됩니다. 예를 들어, Windows에서는 시스템 네이티브 ID가 IANA ID로 변환되는데, 내부 변환 코드가 시스템 ID를 인식하지 못하는 경우 결과는 비어 있어야 합니다. 이 경우, ` systemTimeZone()` 및 `isValid()`은 `true`가 됩니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
참고: Qt 6.7이전 버전에서는 결과를 확인할 수 없는 경우, 오해의 소지가 있는 "UTC"라는 결과가 반환되었습니다.
systemTimeZone()도 참조하십시오 .
[since 6.2] QLocale::Territory QTimeZone::territory() const
해당 시간대의 관할 구역을 반환합니다.
AnyTerritory 이 반환되면 해당 시간대에 알려진 지역이 없음을 의미합니다. 어떤 경우에는 해당 시간대가 연관된 영토가 없기 때문일 수 있습니다(예: UTC). 또는 해당 시간대가 여러 영토에서 사용되기 때문일 수도 있습니다(예: CET). 다른 경우에는 QTimeZone 백엔드가 해당 시간대가 어떤 영토와 연관되어 있는지 알지 못할 수도 있습니다. 예를 들어, 해당 시간대가 사용되는 영토의 주 시간대가 아니기 때문일 수 있습니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
이 기능은 Qt 6.2에서 도입되었습니다.
[constexpr noexcept, since 6.5] Qt::TimeSpec QTimeZone::timeSpec() const
시간 표현 형식을 식별하는 ` Qt::TimeSpec `를 반환합니다.
결과가 ` Qt::TimeZone`인 경우, 이 시간 설명은 (시스템에서 제공하는 데이터 또는 표준 데이터에 기반한) 시간대이며, 그렇지 않은 경우 경량 시간 표현입니다. 결과가 ` Qt::LocalTime `인 경우, 이는 현지 시간을 나타냅니다. 자세한 내용은 Qt::TimeSpec 을 참조하십시오.
이 함수는 Qt 6.5에서 도입되었습니다.
fixedSecondsAheadOfUtc() 및 asBackendZone()도 참조하십시오 .
CFTimeZoneRef QTimeZone::toCFTimeZone() const
QTimeZone 를 사용하여 CFTimeZone을 생성합니다.
호출자가 CFTimeZone 객체의 소유권을 가지며, 이를 해제할 책임이 있습니다.
fromCFTimeZone()도 참조하십시오 .
NSTimeZone *QTimeZone::toNSTimeZone() const
QTimeZone 를 사용하여 NSTimeZone을 생성합니다.
NSTimeZone 객체는 자동 해제됩니다.
fromNSTimeZone()도 참조하십시오 .
QTimeZone::OffsetDataList QTimeZone::transitions(const QDateTime &fromDateTime, const QDateTime &toDateTime) const
지정된 날짜 및 시간 사이의 모든 시간대 전환 목록을 반환합니다.
지정된 fromDateTime 및 toDateTime 은 해당 시점을 포함합니다. 각 항목의 atUtc 멤버는 전환 시점을 나타내며, 이 시점에서 다른 멤버들이 지정하는 오프셋과 약어가 적용됩니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
hasTransitions(), nextTransition(), previousTransition()도 참조하십시오 .
[static] QTimeZone QTimeZone::utc()
UTC를 시간대로 설명하는 ` QTimeZone ` 객체를 반환합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다. 이 메서드는 QTimeZone(int offsetSeconds)에 0을 전달하는 것과, 경량 시간 표현 방식인 QTimeZone(QTimeZone::UTC)에 0을 전달하는 것과 동일하지만, 후자와 달리 시간대 형태로 구현되어 있습니다.
systemTimeZone(), Initialization 및 asBackendZone()도 참조하십시오 .
[static] QByteArray QTimeZone::windowsIdToDefaultIanaId(const QByteArray &windowsId)
지정된 windowsId 에 대한 기본 IANA ID를 반환합니다.
Windows ID는 여러 다른 지역의 여러 IANA ID를 포괄할 수 있으므로, 이 함수는 지역을 고려하지 않고 가장 빈번하게 사용되는 IANA ID를 반환하므로 주의해서 사용해야 합니다. 일반적으로 특정 지역에 대한 기본값을 요청하는 것이 가장 좋습니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
ianaIdToWindowsId() 및 windowsIdToIanaIds()도 참조하십시오 .
[static] QByteArray QTimeZone::windowsIdToDefaultIanaId(const QByteArray &windowsId, QLocale::Territory territory)
지정된 windowsId 및 territory 에 대한 기본 IANA ID를 반환합니다.
Windows ID는 주어진 관할 구역 내에서 여러 IANA ID를 포함할 수 있으므로, 해당 관할 구역에서 가장 빈번하게 사용되는 IANA ID가 반환됩니다.
특별한 경우로, AnyTerritory 는 특정 지역과 연관되지 않은 IANA ID 중 기본값을 반환하는 반면, World 는 해당 windowsId 와 구체적인 연관성이 없는 지역에서 기본값을 반환합니다.
반환 결과가 빈 경우, 이 windowsId 에 대해 주어진 territory 에 특화된 IANA ID가 없는 것입니다. 이 경우 windowsIdToDefaultIanaId(windowsId) 로 대체하는 것이 타당합니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
ianaIdToWindowsId(), windowsIdToIanaIds(), territory()도 참조하십시오 .
[static] QList<QByteArray> QTimeZone::windowsIdToIanaIds(const QByteArray &windowsId)
지정된 windowsId 에 해당하는 모든 IANA ID를 반환합니다.
반환된 목록은 알파벳순으로 정렬됩니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
ianaIdToWindowsId() 및 windowsIdToDefaultIanaId()도 참조하십시오 .
[static] QList<QByteArray> QTimeZone::windowsIdToIanaIds(const QByteArray &windowsId, QLocale::Territory territory)
지정된 windowsId 및 territory 에 해당하는 모든 IANA ID를 반환합니다.
특별한 경우로, AnyTerritory 는 비영토적 연관성을 가진 IANA ID를 선택하는 반면, World 는 주어진 windowsId 와 구체적인 연관성이 없는 영토 내에서 해당 에 대한 기본값을 선택합니다.
반환된 목록은 사용 빈도 순서대로 정렬되어 있으며, 즉 해당 지역 내의 더 큰 구역이 먼저 나열됩니다.
이 메서드는 timezone 기능이 활성화된 경우에만 사용할 수 있습니다.
ianaIdToWindowsId(), windowsIdToDefaultIanaId(), territory()도 참조하십시오 .
[noexcept] QTimeZone &QTimeZone::operator=(QTimeZone &&other)
other 를 이 QTimeZone 인스턴스로 이동-할당하여, 해당 데이터의 소유권을 이 인스턴스로 이전합니다.
QTimeZone &QTimeZone::operator=(const QTimeZone &other)
할당 연산자, ` other `를 `this`에 할당합니다.
멤버 변수 문서
const int QTimeZone::MaxUtcOffsetSecs
UTC 기준 시간대 오프셋은 이보다 크지 않을 것으로 예상됩니다.
21세기 초반의 모든 시간대 중 UTC에 대한 최대 오프셋은 +14시간(크리스마스 섬, 키리바시, 키리티마티)이며, 이는 그리니치보다 동쪽으로 14시간 떨어진 위치에 해당합니다.
역사적으로, 1867년 러시아가 알래스카를 미국에 매각하기 전까지 알래스카는 러시아와 동일한 날짜를 사용했기 때문에 그리니치 기준 동쪽으로 15시간 이상의 시차를 가졌습니다. 알래스카는 현지 평균 태양시를 사용했기 때문에 시차에 변동이 있었지만, 모두 그리니치 기준 동쪽으로 16시간 미만이었습니다.
MinUtcOffsetSecs도 참조하십시오 .
const int QTimeZone::MinUtcOffsetSecs
UTC를 기준으로 한 시간대 오프셋은 이보다 작아서는 안 됩니다.
21세기 초반의 모든 시간대 중 UTC에 대한 가장 작은 시차 값은 -12시간(미국 베이커 섬)이며, 이는 그리니치 표준시보다 서쪽으로 12시간 뒤처진 시간대입니다.
역사적으로 1844년까지 필리핀(당시 스페인의 지배 하에 있었음)은 스페인의 아메리카 식민지와 동일한 날짜를 사용했기 때문에 그리니치 표준시 기준 서쪽으로 16시간에 가까운 시차를 가졌습니다. 필리핀은 현지 평균 태양시를 사용했기 때문에, 일부 외곽 영토에서는 그리니치 기준 서쪽으로 16시간 이상 뒤처진 시간을 사용했을 가능성도 있지만, 21세기 초반의 어떤 시간대도 그 기원을 그렇게 극단적인 시점으로 거슬러 올라가는 경우는 없습니다.
MaxUtcOffsetSecs도 참조하십시오 .
관련 비회원
[noexcept] bool operator!=(const QTimeZone &lhs, const QTimeZone &rhs)
lhs 의 시간대가 rhs 의 시간대와 일치하지 않을 경우, ` true `를 반환합니다.
두 표현은 모든 시점의 표현이 일치하더라도 내부적으로 다르게 기술되어 있다면 서로 다른 것으로 간주됩니다. 특히, 경량 시간 표현은 시간대와 일치할 수 있지만, 이 둘은 서로 같지 않습니다.
[noexcept] bool operator==(const QTimeZone &lhs, const QTimeZone &rhs)
lhs 의 시간대가 rhs 의 시간대와 동일한 경우, true 을 반환합니다.
두 표현이 모든 시간 순간에 대한 표현은 일치하더라도, 내부적으로 서로 다르게 기술되어 있다면 서로 다른 것으로 간주됩니다. 특히, 경량 시간 표현은 특정 시간대와 일치할 수 있지만, 이 둘은 서로 같지 않습니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.