QTime Class
QTime 클래스는 시계 시간 기능을 제공합니다. 더 보기...
헤더: | #include <QTime> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
이 클래스는 매우 유사합니다.
참고: 이 클래스의 모든 함수는 재진입합니다.
공용 함수
QTime() | |
QTime(int h, int m, int s = 0, int ms = 0) | |
QTime | addMSecs(int ms) const |
QTime | addSecs(int s) const |
int | hour() const |
bool | isNull() const |
bool | isValid() const |
int | minute() const |
int | msec() const |
int | msecsSinceStartOfDay() const |
int | msecsTo(QTime t) const |
int | second() const |
int | secsTo(QTime t) const |
bool | setHMS(int h, int m, int s, int ms = 0) |
QString | toString(QStringView format) const |
QString | toString(const QString &format) const |
QString | toString(Qt::DateFormat format = Qt::TextDate) const |
정적 공용 멤버
QTime | currentTime() |
QTime | fromMSecsSinceStartOfDay(int msecs) |
QTime | fromString(const QString &string, Qt::DateFormat format = Qt::TextDate) |
QTime | fromString(const QString &string, const QString &format) |
(since 6.0) QTime | fromString(QStringView string, QStringView format) |
(since 6.0) QTime | fromString(QStringView string, Qt::DateFormat format = Qt::TextDate) |
(since 6.0) QTime | fromString(const QString &string, QStringView format) |
bool | isValid(int h, int m, int s, int ms = 0) |
관련 비회원
bool | operator!=(const QTime &lhs, const QTime &rhs) |
bool | operator<(const QTime &lhs, const QTime &rhs) |
QDataStream & | operator<<(QDataStream &out, QTime time) |
bool | operator<=(const QTime &lhs, const QTime &rhs) |
bool | operator==(const QTime &lhs, const QTime &rhs) |
bool | operator>(const QTime &lhs, const QTime &rhs) |
bool | operator>=(const QTime &lhs, const QTime &rhs) |
QDataStream & | operator>>(QDataStream &in, QTime &time) |
상세 설명
QTime 객체는 자정 이후 시, 분, 초, 밀리초의 숫자로 표현할 수 있는 시계 시간을 포함합니다. 시간을 비교하고 밀리초를 추가하여 시간을 조작하는 함수를 제공합니다. QTime 객체는 const에 대한 참조가 아닌 값으로 전달해야 하며, 간단히 int
으로 패키징해야 합니다.
QTime은 24시간 시계 형식을 사용하며 오전/오후 개념이 없습니다. QDateTime 과 달리 QTime은 시간대나 일광 절약 시간제(DST)에 대해 아무것도 알지 못합니다.
QTime 객체는 일반적으로 시, 분, 초, 밀리초 수를 명시적으로 지정하거나 정적 함수 currentTime()를 사용하여 시스템의 현지 시간을 나타내는 QTime 객체를 생성합니다.
hour(), minute(), second() 및 msec() 함수는 시간, 분, 초 및 밀리초 수에 대한 액세스를 제공합니다. toString () 함수는 동일한 정보를 텍스트 형식으로 제공합니다.
addSecs() 및 addMSecs() 함수는 주어진 시간보다 몇 초 또는 몇 밀리초 늦은 시간을 제공합니다. 따라서 두 시간 사이의 초 또는 밀리초 수는 secsTo() 또는 msecsTo()를 사용하여 확인할 수 있습니다.
QTime은 두 QTime 객체를 비교할 수 있는 전체 연산자 집합을 제공하며, 이전 시간은 이후 시간보다 작은 것으로 간주됩니다(A.msecsTo(B)가 양수이면 A < B).
QTime 객체는 fromString()를 사용하여 텍스트 표현에서 생성하고 toString()를 사용하여 문자열 표현으로 변환할 수도 있습니다. 문자열 형식으로의 모든 변환은 C 로캘을 사용하여 수행됩니다. 현지화된 변환에 대해서는 QLocale 을 참조하세요.
멤버 함수 문서
QString QTime::toString(QStringView format) const
QString QTime::toString(const QString &format) const
시간을 나타내는 문자열을 반환합니다.
format 매개 변수에 따라 결과 문자열의 형식이 결정됩니다. 시간이 유효하지 않으면 빈 문자열이 반환됩니다.
다음 표현식을 사용할 수 있습니다:
표현식 | 출력 |
---|---|
h | 선행 0이 없는 시간(오전/오후 표시의 경우 0~23 또는 1~12) |
hh | 선행 0이 있는 시간(AM/PM 표시의 경우 00~23 또는 01~12) |
H | 선행 0이 없는 시(AM/PM 표시 시에도 0~23) |
HH | 선행 0이 있는 시간(AM/PM 표시 시에도 00~23) |
m | 선행 0이 없는 분(0~59) |
mm | 선행 0이 있는 분(00~59) |
s | 선행 0이 없는 전체 초(0~59) |
ss | 선행 0이 포함된 전체 초(해당되는 경우 선행 0 포함)(00~59) |
z 또는 zz | 소수점 뒤의 0이 없는 초의 분수 부분으로, 소수점 뒤에 0이 없습니다. 따라서 "s.z" 은 후행 0(0~999) 없이 초를 사용 가능한 최대 정밀도(밀리초)로 보고합니다. 예를 들어 "s.z" 은 1/4초에서 1분까지의 시간을 "0.25" 으로 표시합니다. |
zzz | 초의 소수점 부분부터 밀리초 정밀도까지, 해당하는 경우 후행 0을 포함합니다(000~999). 예를 들어 "ss.zzz" 은 1/4초에서 1분까지의 시간을 "00.250" 으로 표시합니다. |
AP 또는 A | 오전/오후 표시 사용. A/AP 은 '오전' 또는 '오후'로 대체됩니다. 현지화된 형식( QLocale::toString()에만 해당)에서는 로캘에 적합한 텍스트가 대문자로 변환됩니다. |
ap 또는 a | 오전/오후 표시 사용. a/ap 은 '오전' 또는 '오후'로 대체됩니다. 현지화된 양식( QLocale::toString()에만 해당)에서는 로캘에 적합한 텍스트가 소문자로 변환됩니다. |
aP 또는 Ap | 오전/오후 표시 사용(6.3부터). aP/Ap 은 '오전' 또는 '오후'로 대체됩니다. 현지화된 양식( QLocale::toString()에만 해당)에서는 대소문자 변경 없이 로캘에 적합한 텍스트( QLocale::amText() 또는 QLocale::pmText()로 반환됨)가 사용됩니다. |
t | 표준 시간대 약어(예: 'CEST'). 시간대 약어는 고유하지 않다는 점에 유의하세요. 특히 fromString()는 이를 파싱할 수 없습니다. |
tt | 시와 분 사이에 콜론이 없는 UTC로부터의 표준 시간대 오프셋(예: "+0200"). |
ttt | UTC로부터의 시간대 오프셋으로 시와 분 사이에 콜론이 포함됩니다(예: "+02:00"). |
tttt | 표준 시간대 이름(예: "유럽/베를린"). 이 경우 날짜 시간이 서머타임인지 표준시간인지 표시되지 않으므로 날짜 시간이 두 시간 사이의 전환으로 인해 반복되는 시간에 해당하는 경우 모호해질 수 있습니다. 사용되는 이름은 QTimeZone::displayName()에서 제공하는 QTimeZone::LongName 유형입니다. 이는 사용 중인 운영 체제에 따라 달라질 수 있습니다. |
참고: 현지화된 형태의 오전 또는 오후( AP
, ap
, A
, a
, aP
또는 Ap
형식) 또는 시간대 표현( t
형식)을 얻으려면 QLocale::system() 또는toString()을 사용합니다.
시간대를 확인할 수 없거나 적절한 시간대 표현이 없는 경우에는 t
형식을 건너뛸 수 있습니다. 빈 문자열을 반환하는 경우에 대한 자세한 내용은 QTimeZone::displayName()를 참조하세요.
작은따옴표로 묶인 비어 있지 않은 문자 시퀀스는 서식 지정 문자가 포함되어 있더라도 출력 문자열에 따옴표가 제거된 그대로 포함됩니다. 연속된 작은따옴표("''") 두 개는 출력에서 작은따옴표로 대체됩니다. 서식 문자열의 다른 모든 문자는 출력 문자열에 그대로 포함됩니다.
구분 기호가 없는 형식(예: "ddMM")은 지원되지만 결과 문자열을 항상 안정적으로 읽을 수 있는 것은 아니므로 주의해서 사용해야 합니다(예: "dM"이 "212"를 생성하면 12월 2일 또는 2월 21일을 의미할 수 있음).
형식 문자열 예시( QTime 가 14:13:09.042라고 가정)
형식 | 결과 |
---|---|
hh:mm:ss.zzz | 14:13:09.042 |
h:m:s ap | 2:13:9 오후 |
H:m:s a | 14:13:9 오후 |
참고: 포맷 문자를 사용하여 위 표에서 가장 긴 표현식보다 여러 번 반복되는 경우 이 부분은 구분 기호 없이 여러 개의 표현식으로 읽히며, 위의 가장 긴 표현식은 복사본 수만큼 반복되고 더 짧은 표현식일 수 있는 잔류로 끝납니다. 따라서 08:00이라는 시간에 대한 'HHHHH'
은 "08088"
을 출력에 기여합니다.
fromString(), QDate::toString(), QDateTime::toString() 및 QLocale::toString()도 참조하세요 .
[constexpr]
QTime::QTime()
널 시간 객체를 구축합니다. 널 시간의 경우 isNull()는 true
을 반환하고 isValid()는 false
을 반환합니다. 0 시간이 필요한 경우 QTime(0, 0)을 사용합니다. 하루의 시작은 QDate::startOfDay()를 참조하세요.
QTime::QTime(int h, int m, int s = 0, int ms = 0)
시간 h, 분 m, 초 s, 밀리초 ms 로 시간을 구성합니다.
h 는 0~23 범위, m 및 s 은 0~59 범위, ms 은 0~999 범위여야 합니다.
isValid()도 참조하세요 .
QTime QTime::addMSecs(int ms) const
이 객체의 시간보다 ms 밀리초 늦은(또는 ms 음수인 경우 더 빠른) 시간이 포함된 QTime 객체를 반환합니다.
시간이 자정을 넘기면 시간이 줄 바꿈된다는 점에 유의하세요. 예는 addSecs()를 참조하세요.
이 시간이 유효하지 않은 경우 null 시간을 반환합니다.
addSecs(), msecsTo() 및 QDateTime::addMSecs()도 참조하세요 .
QTime QTime::addSecs(int s) const
이 객체의 시간보다 s 초 늦은 시간(또는 s 음수인 경우 이보다 빠른 시간)이 포함된 QTime 객체를 반환합니다.
시간이 자정을 지나면 랩핑된다는 점에 유의하세요.
이 시간이 유효하지 않은 경우 null 시간을 반환합니다.
예시:
QTime n(14, 0, 0); // n == 14:00:00 QTime t; t = n.addSecs(70); // t == 14:01:10 t = n.addSecs(-70); // t == 13:58:50 t = n.addSecs(10 * 60 * 60 + 5); // t == 00:00:05 t = n.addSecs(-15 * 60 * 60); // t == 23:00:00
addMSecs(), secsTo() 및 QDateTime::addSecs()도 참조하세요 .
[static]
QTime QTime::currentTime()
시스템 시계에서 보고한 현재 시간을 반환합니다.
정확도는 기본 운영 체제의 정확도에 따라 달라지며, 모든 시스템이 1밀리초의 정확도를 제공하는 것은 아닙니다.
또한 currentTime()은 하루 동안만 증가하며 자정이 지날 때마다 24시간씩 감소하며, 서머타임 전환이 개입하는 경우 경과 시간과 일치하지 않을 수 있습니다.
QDateTime::currentDateTime() 및 QDateTime::currentDateTimeUtc()도 참조하세요 .
[static constexpr]
QTime QTime::fromMSecsSinceStartOfDay(int msecs)
하루가 시작된 이후, 즉 00:00:00 이후 msecs 의 수로 설정된 시간을 가진 새 QTime 인스턴스를 반환합니다.
msecs 이 유효 범위를 벗어나면 유효하지 않은 QTime 이 반환됩니다.
msecsSinceStartOfDay()도 참조하세요 .
[static]
QTime QTime::fromString(const QString &string, Qt::DateFormat format = Qt::TextDate)
주어진 format 을 사용하여 string 에 표시된 시간을 QTime 으로 반환하거나, 불가능할 경우 유효하지 않은 시간을 반환합니다.
toString() 및 QLocale::toTime()도 참조하세요 .
[static]
QTime QTime::fromString(const QString &string, const QString &format)
주어진 format 을 사용하여 string 으로 표시되는 QTime 을 반환하거나 문자열을 구문 분석할 수 없는 경우 유효하지 않은 시간을 반환합니다.
다음 표현식을 형식에 사용할 수 있습니다:
표현식 | 출력 |
---|---|
h | 선행 0이 없는 시간(AM/PM 표시의 경우 0~23 또는 1~12) |
hh | 선행 0이 있는 시간(AM/PM 표시의 경우 00~23 또는 01~12) |
H | 선행 0이 없는 시(AM/PM 표시 시에도 0~23) |
HH | 선행 0이 있는 시간(AM/PM 표시 시에도 00~23) |
m | 선행 0이 없는 분(0~59) |
mm | 선행 0이 있는 분(00~59) |
s | 선행 0이 없는 전체 초(0~59) |
ss | 선행 0이 포함된 전체 초(해당되는 경우 선행 0 포함)(00~59) |
z 또는 zz | 일반적으로 소수점 뒤에 오는 소수점 없이 초의 분수 부분(0~999)입니다. 따라서 "s.z" 은 후행 0 없이 밀리초 정밀도를 제공하는 최대 세 자리의 분수 부분으로 초를 일치시킵니다. 예를 들어 "s.z" 은 "00.250" 또는 "0.25" 을 분에서 1/4초의 시간을 나타내는 것으로 인식합니다. |
zzz | 초의 세 자리 소수점 부분, 밀리초 정밀도(해당되는 경우 후행 0 포함(000~999)). 예를 들어 "ss.zzz" 은 "0.25" 을 거부하지만 "00.250" 은 1/4초 후의 시간을 나타내는 분으로 인식합니다. |
AP, A, ap, a, aP 또는 Ap | 12:00 이전 시간을 나타내는 'AM' 또는 그 이후의 시간을 나타내는 'PM'은 대소문자를 구분하지 않고 일치합니다. |
그 외의 모든 입력 문자는 텍스트로 처리됩니다. 작은따옴표로 묶인 비어 있지 않은 문자 시퀀스도 표현식으로 해석되지 않고 (따옴표가 제거된) 텍스트로 처리됩니다.
형식이 충족되지 않으면 잘못된 QTime 이 반환됩니다. 선행 0이 주어질 것으로 예상되지 않는 표현식(h, m, s 및 z)은 욕심이 많습니다. 즉, 허용되는 값의 범위를 벗어나 다른 섹션에 너무 적은 숫자가 남더라도 두 자리(z의 경우 세 자리)를 사용합니다. 예를 들어 다음 문자열은 00:07:10을 의미할 수 있지만 m이 두 자리 숫자를 가져가므로 잘못된 시간이 됩니다:
형식에 표시되지 않는 모든 필드는 0으로 설정됩니다. 예를 들어
참고: 오전 또는 오후의 현지화된 형식(AP, ap, Ap, aP, A 또는 a 형식)을 인식하려면 QLocale::system().toTime()을 사용합니다.
참고: 포맷 문자를 사용하여 위 표에서 가장 긴 표현식보다 여러 번 반복되는 경우 포맷의 이 부분은 구분 기호 없이 여러 표현식으로 읽히며, 위의 가장 긴 표현식은 복사본 수만큼 반복되어 더 짧은 표현식일 수 있는 잔류문자로 끝납니다. 따라서 'HHHHH'
는 "08088"
또는 "080808"
와 일치하고 시간을 8로 설정하지만, 시간 문자열에 "070809"가 포함된 경우 "일치"하지만 일관되지 않은 결과를 생성하여 잘못된 시간이 됩니다.
toString(), QDateTime::fromString(), QDate::fromString(), QLocale::toTime() 및 QLocale::toDateTime()도 참조하세요 .
[static, since 6.0]
QTime QTime::fromString(QStringView string, QStringView format)
이 함수는 오버로드된 함수입니다.
이 함수는 Qt 6.0에 도입되었습니다.
[static, since 6.0]
QTime QTime::fromString(QStringView string, Qt::DateFormat format = Qt::TextDate)
이 함수는 오버로드된 함수입니다.
이 함수는 Qt 6.0에 도입되었습니다.
[static, since 6.0]
QTime QTime::fromString(const QString &string, QStringView format)
이 함수는 오버로드된 함수입니다.
이 함수는 Qt 6.0에 도입되었습니다.
int QTime::hour() const
시간의 시 부분(0~23)을 반환합니다.
시간이 유효하지 않으면 -1을 반환합니다.
minute(), second() 및 msec()도 참조하세요 .
[constexpr]
bool QTime::isNull() const
시간이 null인 경우(즉, QTime 객체가 기본 생성자를 사용하여 생성된 경우) true
을 반환하고, 그렇지 않으면 false를 반환합니다. null 시간도 유효하지 않은 시간입니다.
isValid()도 참조하세요 .
bool QTime::isValid() const
시간이 유효하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다. 예를 들어 23:30:55.746 시간은 유효하지만 24:12:30은 유효하지 않습니다.
isNull()도 참조하세요 .
[static]
bool QTime::isValid(int h, int m, int s, int ms = 0)
이 함수는 오버로드된 함수입니다.
지정된 시간이 유효하면 true
을 반환하고, 그렇지 않으면 false를 반환합니다.
h 는 0~23 범위, m 및 s 는 0~59 범위, ms 는 0~999 범위인 경우 시간이 유효합니다.
예시:
int QTime::minute() const
시간의 분 단위(0~59)를 반환합니다.
시간이 유효하지 않으면 -1을 반환합니다.
hour(), second() 및 msec()도 참조하세요 .
int QTime::msec() const
시간의 밀리초 단위(0~999)를 반환합니다.
시간이 유효하지 않으면 -1을 반환합니다.
hour(), minute() 및 second()도 참조하세요 .
[constexpr]
int QTime::msecsSinceStartOfDay() const
하루가 시작된 이후(즉, 00:00:00 이후)의 밀리초 수를 반환합니다.
fromMSecsSinceStartOfDay()도 참조하세요 .
int QTime::msecsTo(QTime t) const
이 시간에서 t 까지의 밀리초 수를 반환합니다. t 이 이 시간보다 빠르면 반환되는 밀리초 수는 음수입니다.
QTime 은 하루 내의 시간을 측정하고 하루에는 86400초가 있으므로 결과는 항상 -86400000 과 86400000 ms 사이입니다.
두 시간 중 하나가 유효하지 않으면 0을 반환합니다.
secsTo(), addMSecs() 및 QDateTime::msecsTo()도 참조하세요 .
int QTime::second() const
시간의 두 번째 부분(0~59)을 반환합니다.
시간이 유효하지 않으면 -1을 반환합니다.
hour(), minute() 및 msec()도 참조하세요 .
int QTime::secsTo(QTime t) const
이 시간부터 t 까지의 초 수를 반환합니다. t 이 이 시간보다 빠르면 반환되는 초 수는 음수입니다.
QTime 은 하루 이내의 시간을 측정하고 하루에는 86400초가 있으므로 결과는 항상 -86400에서 86400 사이입니다.
secsTo()는 밀리초를 고려하지 않습니다.
두 시간 중 하나가 유효하지 않으면 0을 반환합니다.
addSecs() 및 QDateTime::secsTo()도 참조하세요 .
bool QTime::setHMS(int h, int m, int s, int ms = 0)
시간을 시 h, 분 m, 초 s, 밀리초 ms 로 설정합니다.
h 는 0~23 범위, m 및 s 은 0~59 범위, ms 은 0~999 범위여야 합니다. 설정된 시간이 유효하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
isValid()도 참조하세요 .
QString QTime::toString(Qt::DateFormat format = Qt::TextDate) const
이 함수는 오버로드된 함수입니다.
시간을 문자열로 반환합니다. format 매개변수는 문자열의 형식을 결정합니다.
format 가 Qt::TextDate 인 경우 문자열 형식은 HH:mm:ss입니다(예: 자정 1초 전은 "23:59:59"가 됩니다).
format 이 Qt::ISODate 인 경우 문자열 형식은 날짜 표시에 대한 ISO 8601 확장 사양에 해당하며, HH:mm:ss로 표시됩니다. ISO 8601 날짜에 밀리초를 포함하려면 HH:mm:ss.zzz에 해당하는 format Qt::ISODateWithMs 을 사용합니다.
format 이 Qt::RFC2822Date 인 경우 문자열은 RFC 2822와 호환되는 방식으로 형식이 지정됩니다. 이 형식의 예는 "23:59:20"입니다.
시간이 유효하지 않으면 빈 문자열이 반환됩니다.
fromString(), QDate::toString(), QDateTime::toString() 및 QLocale::toString()도 참조하세요 .
관련 비회원
[constexpr noexcept]
bool operator!=(const QTime &lhs, const QTime &rhs)
lhs 이 rhs 과 다르면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
[constexpr noexcept]
bool operator<(const QTime &lhs, const QTime &rhs)
lhs 이 rhs 보다 빠르면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
QDataStream &operator<<(QDataStream &out, QTime time)
out 을 스트리밍하기 위해 time 을 씁니다.
Qt 데이터 유형 직렬화도참조하십시오 .
[constexpr noexcept]
bool operator<=(const QTime &lhs, const QTime &rhs)
lhs 이 rhs 보다 작거나 같으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
[constexpr noexcept]
bool operator==(const QTime &lhs, const QTime &rhs)
lhs 이 rhs 과 같으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
[constexpr noexcept]
bool operator>(const QTime &lhs, const QTime &rhs)
lhs 이 rhs 보다 늦으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
[constexpr noexcept]
bool operator>=(const QTime &lhs, const QTime &rhs)
lhs 이 rhs 보다 늦거나 같으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
QDataStream &operator>>(QDataStream &in, QTime &time)
스트림 in 에서 주어진 time 으로 시간을 읽습니다.
Qt 데이터 유형 직렬화도참조하십시오 .
© 2025 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.