| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583 |
- // qdatetime.sip generated by MetaSIP
- //
- // This file is part of the QtCore Python extension module.
- //
- // Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
- //
- // This file is part of PyQt6.
- //
- // This file may be used under the terms of the GNU General Public License
- // version 3.0 as published by the Free Software Foundation and appearing in
- // the file LICENSE included in the packaging of this file. Please review the
- // following information to ensure the GNU General Public License version 3.0
- // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
- //
- // If you do not wish to use this file under the terms of the GPL version 3.0
- // then you may purchase a commercial license. For more information contact
- // info@riverbankcomputing.com.
- //
- // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- class QDate /TypeHintIn="Union[QDate, datetime.date]"/
- {
- %TypeHeaderCode
- #include <qdatetime.h>
- %End
- %TypeCode
- #include <QHash>
- %End
- %ConvertToTypeCode
- // Allow a Python date object whenever a QDate is expected.
- if (sipIsErr == NULL)
- return (sipGetDate(sipPy, 0) ||
- sipCanConvertToType(sipPy, sipType_QDate, SIP_NO_CONVERTORS));
- sipDateDef py_date;
- if (sipGetDate(sipPy, &py_date))
- {
- *sipCppPtr = new QDate(py_date.pd_year,
- py_date.pd_month,
- py_date.pd_day);
- return sipGetState(sipTransferObj);
- }
- *sipCppPtr = reinterpret_cast<QDate *>(sipConvertToType(sipPy, sipType_QDate, sipTransferObj, SIP_NO_CONVERTORS, 0, sipIsErr));
- return 0;
- %End
- %PickleCode
- sipRes = Py_BuildValue("iii", sipCpp->year(), sipCpp->month(), sipCpp->day());
- %End
- public:
- QDate();
- QDate(int y, int m, int d);
- QDate(int y, int m, int d, QCalendar cal);
- SIP_PYOBJECT __repr__() const /TypeHint="str"/;
- %MethodCode
- if (sipCpp->isNull())
- {
- sipRes = PyUnicode_FromString("PyQt6.QtCore.QDate()");
- }
- else
- {
- sipRes = PyUnicode_FromFormat(
- "PyQt6.QtCore.QDate(%i, %i, %i)", sipCpp->year(),
- sipCpp->month(), sipCpp->day());
- }
- %End
- Py_hash_t __hash__() const;
- %MethodCode
- sipRes = qHash(sipCpp->toString(Qt::ISODate));
- %End
- SIP_PYOBJECT toPyDate() const /TypeHint="datetime.date"/;
- %MethodCode
- // Convert to a Python date object.
- sipDateDef py_date;
-
- py_date.pd_year = sipCpp->year();
- py_date.pd_month = sipCpp->month();
- py_date.pd_day = sipCpp->day();
-
- sipRes = sipFromDate(&py_date);
- %End
- bool isNull() const;
- int __bool__() const;
- %MethodCode
- sipRes = !sipCpp->isNull();
- %End
- bool isValid() const;
- int year() const;
- int year(QCalendar cal) const;
- int month() const;
- int month(QCalendar cal) const;
- int day() const;
- int day(QCalendar cal) const;
- int dayOfWeek() const;
- int dayOfWeek(QCalendar cal) const;
- int dayOfYear() const;
- int dayOfYear(QCalendar cal) const;
- int daysInMonth() const;
- int daysInMonth(QCalendar cal) const;
- int daysInYear() const;
- int daysInYear(QCalendar cal) const;
- int weekNumber(int *yearNumber = 0) const;
- // In Qt v6.7 this was replaced by two overloads bu twe need to retain the optional keyword argument.
- QString toString(const QString &format, QCalendar cal = QCalendar()) const;
- QString toString(Qt::DateFormat format = Qt::TextDate) const;
- QDate addDays(qint64 days) const;
- QDate addMonths(int months) const;
- QDate addMonths(int months, QCalendar cal) const;
- QDate addYears(int years) const;
- QDate addYears(int years, QCalendar cal) const;
- static QDate currentDate();
- static QDate fromString(const QString &string, Qt::DateFormat format = Qt::TextDate);
- // Qt v6.7 replaced this with two overloads but we need to retain the optional keyword argument.
- static QDate fromString(const QString &string, const QString &format, QCalendar cal = QCalendar());
- %If (Qt_6_7_0 -)
- // This replaces two overloads added in Qy v6.7 designed to maintain compatibility regarding optional keyword arguments.
- static QDate fromString(const QString &string, const QString &format, int baseYear, QCalendar cal = QCalendar());
- %End
- static bool isValid(int y, int m, int d);
- static bool isLeapYear(int year);
- static QDate fromJulianDay(qint64 jd);
- qint64 toJulianDay() const;
- bool setDate(int year, int month, int date);
- void getDate(int *year, int *month, int *day) const;
- // The arguments are marked as deprecated in Qt v6.9.
- QDateTime startOfDay(Qt::TimeSpec spec = Qt::LocalTime, int offsetSeconds = 0) const;
- QDateTime startOfDay(const QTimeZone &zone) const;
- // The arguments are marked as deprecated in Qt v6.9.
- QDateTime endOfDay(Qt::TimeSpec spec = Qt::LocalTime, int offsetSeconds = 0) const;
- QDateTime endOfDay(const QTimeZone &zone) const;
- bool setDate(int year, int month, int day, QCalendar cal);
- qint64 daysTo(QDate d) const;
- };
- class QTime /TypeHintIn="Union[QTime, datetime.time]"/
- {
- %TypeHeaderCode
- #include <qdatetime.h>
- %End
- %TypeCode
- #include <QHash>
- %End
- %ConvertToTypeCode
- // Allow a Python time object whenever a QTime is expected.
- if (sipIsErr == NULL)
- return (sipGetTime(sipPy, 0) ||
- sipCanConvertToType(sipPy, sipType_QTime, SIP_NO_CONVERTORS));
- sipTimeDef py_time;
- if (sipGetTime(sipPy, &py_time))
- {
- *sipCppPtr = new QTime(py_time.pt_hour,
- py_time.pt_minute,
- py_time.pt_second,
- py_time.pt_microsecond / 1000);
- return sipGetState(sipTransferObj);
- }
- *sipCppPtr = reinterpret_cast<QTime *>(sipConvertToType(sipPy, sipType_QTime, sipTransferObj, SIP_NO_CONVERTORS, 0, sipIsErr));
- return 0;
- %End
- %PickleCode
- sipRes = Py_BuildValue("iiii", sipCpp->hour(), sipCpp->minute(), sipCpp->second(), sipCpp->msec());
- %End
- public:
- QTime();
- QTime(int h, int m, int second = 0, int msec = 0);
- SIP_PYOBJECT __repr__() const /TypeHint="str"/;
- %MethodCode
- if (sipCpp->isNull())
- {
- sipRes = PyUnicode_FromString("PyQt6.QtCore.QTime()");
- }
- else
- {
- sipRes = PyUnicode_FromFormat("PyQt6.QtCore.QTime(%i, %i", sipCpp->hour(),
- sipCpp->minute());
-
- if (sipCpp->second() || sipCpp->msec())
- {
- qpycore_Unicode_ConcatAndDel(&sipRes,
- PyUnicode_FromFormat(", %i", sipCpp->second()));
-
- if (sipCpp->msec())
- qpycore_Unicode_ConcatAndDel(&sipRes,
- PyUnicode_FromFormat(", %i", sipCpp->msec()));
- }
-
- qpycore_Unicode_ConcatAndDel(&sipRes, PyUnicode_FromString(")"));
- }
- %End
- Py_hash_t __hash__() const;
- %MethodCode
- sipRes = qHash(sipCpp->toString(Qt::ISODate));
- %End
- SIP_PYOBJECT toPyTime() const /TypeHint="datetime.time"/;
- %MethodCode
- // Convert to a Python time object.
- sipTimeDef py_time;
-
- py_time.pt_hour = sipCpp->hour();
- py_time.pt_minute = sipCpp->minute();
- py_time.pt_second = sipCpp->second();
- py_time.pt_microsecond = sipCpp->msec() * 1000;
-
- sipRes = sipFromTime(&py_time);
- %End
- bool isNull() const;
- int __bool__() const;
- %MethodCode
- sipRes = !sipCpp->isNull();
- %End
- bool isValid() const;
- int hour() const;
- int minute() const;
- int second() const;
- int msec() const;
- QString toString(Qt::DateFormat format = Qt::TextDate) const;
- QString toString(const QString &format) const;
- bool setHMS(int h, int m, int s, int msec = 0);
- QTime addSecs(int secs) const;
- QTime addMSecs(int ms) const;
- static QTime currentTime();
- static QTime fromString(const QString &string, Qt::DateFormat format = Qt::TextDate);
- static QTime fromString(const QString &s, const QString &format);
- static bool isValid(int h, int m, int s, int msec = 0);
- static QTime fromMSecsSinceStartOfDay(int msecs);
- int msecsSinceStartOfDay() const;
- int secsTo(QTime t) const;
- int msecsTo(QTime t) const;
- };
- class QDateTime /TypeHintIn="Union[QDateTime, datetime.datetime]"/
- {
- %TypeHeaderCode
- #include <qdatetime.h>
- %End
- %TypeCode
- #include <QHash>
- %End
- %ConvertToTypeCode
- // Allow a Python datetime object whenever a QDateTime is expected.
- if (sipIsErr == NULL)
- return (sipGetDateTime(sipPy, 0, 0) ||
- sipCanConvertToType(sipPy, sipType_QDateTime, SIP_NO_CONVERTORS));
- sipDateDef py_date;
- sipTimeDef py_time;
- if (sipGetDateTime(sipPy, &py_date, &py_time))
- {
- QDate qdate(py_date.pd_year,
- py_date.pd_month,
- py_date.pd_day);
- QTime qtime(py_time.pt_hour,
- py_time.pt_minute,
- py_time.pt_second,
- py_time.pt_microsecond / 1000);
- QDateTime *qdt = new QDateTime(qdate, qtime);
- *sipCppPtr = qdt;
- return sipGetState(sipTransferObj);
- }
- *sipCppPtr = reinterpret_cast<QDateTime *>(sipConvertToType(sipPy, sipType_QDateTime, sipTransferObj, SIP_NO_CONVERTORS, 0, sipIsErr));
- return 0;
- %End
- %PickleCode
- QDate qd = sipCpp->date();
- QTime qt = sipCpp->time();
-
- sipRes = Py_BuildValue("iiiiiiii", qd.year(), qd.month(), qd.day(),
- qt.hour(), qt.minute(), qt.second(), qt.msec(),
- (int)sipCpp->timeSpec());
- %End
- public:
- %If (Qt_6_7_0 -)
- enum class TransitionResolution
- {
- Reject,
- RelativeToBefore,
- RelativeToAfter,
- PreferBefore,
- PreferAfter,
- PreferStandard,
- PreferDaylightSaving,
- LegacyBehavior,
- };
- %End
- QDateTime();
- QDateTime(const QDateTime &other);
- QDateTime(int year, int month, int day, int hour, int minute, int second = 0, int msec = 0, int timeSpec = 0) /NoDerived/;
- %MethodCode
- // This ctor is mainly supplied to allow pickling.
- QDate qd(a0, a1, a2);
- QTime qt(a3, a4, a5, a6);
-
- sipCpp = new QDateTime(qd, qt, (Qt::TimeSpec)a7);
- %End
- %If (Qt_6_7_0 -)
- // The resolve argument is not optional so that the overload with deprecated arguments continues to work.
- QDateTime(QDate date, QTime time, QDateTime::TransitionResolution resolve) [(QDate date, QTime time, QDateTime::TransitionResolution resolve = QDateTime::TransitionResolution::LegacyBehavior)];
- %End
- // The optional arguments are marked as deprecated in Qt v6.9.
- QDateTime(QDate date, QTime time, Qt::TimeSpec spec = Qt::LocalTime, int offsetSeconds = 0);
- %If (Qt_6_7_0 -)
- QDateTime(QDate date, QTime time, const QTimeZone &timeZone, QDateTime::TransitionResolution resolve = QDateTime::TransitionResolution::LegacyBehavior);
- %End
- %If (- Qt_6_7_0)
- QDateTime(QDate date, QTime time, const QTimeZone &timeZone);
- %End
- ~QDateTime();
- SIP_PYOBJECT __repr__() const /TypeHint="str"/;
- %MethodCode
- if (sipCpp->isNull())
- {
- sipRes = PyUnicode_FromString("PyQt6.QtCore.QDateTime()");
- }
- else
- {
- QDate qd = sipCpp->date();
- QTime qt = sipCpp->time();
-
- sipRes = PyUnicode_FromFormat(
- "PyQt6.QtCore.QDateTime(%i, %i, %i, %i, %i",
- qd.year(), qd.month(), qd.day(), qt.hour(), qt.minute());
-
- if (qt.second() || qt.msec() || sipCpp->timeSpec() != Qt::LocalTime)
- {
- qpycore_Unicode_ConcatAndDel(&sipRes,
- PyUnicode_FromFormat(", %i", qt.second()));
-
- if (qt.msec() || sipCpp->timeSpec() != Qt::LocalTime)
- {
- qpycore_Unicode_ConcatAndDel(&sipRes,
- PyUnicode_FromFormat(", %i", qt.msec()));
-
- if (sipCpp->timeSpec() != Qt::LocalTime)
- qpycore_Unicode_ConcatAndDel(&sipRes,
- PyUnicode_FromFormat(", PyQt6.QtCore.Qt.TimeSpec(%i)",
- (int)sipCpp->timeSpec()));
- }
- }
-
- qpycore_Unicode_ConcatAndDel(&sipRes, PyUnicode_FromString(")"));
- }
- %End
- Py_hash_t __hash__() const;
- %MethodCode
- sipRes = qHash(sipCpp->toString(Qt::ISODate));
- %End
- SIP_PYOBJECT toPyDateTime() const /TypeHint="datetime.datetime"/;
- %MethodCode
- // Convert to a Python datetime object.
- sipDateDef py_date;
- QDate qd = sipCpp->date();
-
- py_date.pd_year = qd.year();
- py_date.pd_month = qd.month();
- py_date.pd_day = qd.day();
-
- sipTimeDef py_time;
- QTime qt = sipCpp->time();
-
- py_time.pt_hour = qt.hour();
- py_time.pt_minute = qt.minute();
- py_time.pt_second = qt.second();
- py_time.pt_microsecond = qt.msec() * 1000;
-
- sipRes = sipFromDateTime(&py_date, &py_time);
- %End
- bool isNull() const;
- int __bool__() const;
- %MethodCode
- sipRes = !sipCpp->isNull();
- %End
- bool isValid() const;
- QDate date() const;
- QTime time() const;
- Qt::TimeSpec timeSpec() const;
- void setTimeSpec(Qt::TimeSpec spec);
- // This was replaced with two overloads in Qt v6.7 but we need the optional keyword argument.
- QString toString(const QString &format, QCalendar cal = QCalendar()) const;
- QString toString(Qt::DateFormat format = Qt::TextDate) const;
- QDateTime addDays(qint64 days) const;
- QDateTime addMonths(int months) const;
- QDateTime addYears(int years) const;
- QDateTime addSecs(qint64 secs) const;
- QDateTime addMSecs(qint64 msecs) const;
- QDateTime toTimeSpec(Qt::TimeSpec spec) const;
- QDateTime toLocalTime() const;
- QDateTime toUTC() const;
- qint64 daysTo(const QDateTime &) const;
- qint64 secsTo(const QDateTime &) const;
- static QDateTime currentDateTime();
- %If (Qt_6_5_0 -)
- static QDateTime currentDateTime(const QTimeZone &zone);
- %End
- static QDateTime fromString(const QString &string, Qt::DateFormat format = Qt::TextDate);
- // Qt v6.7 replaced this with two overloads but we need to retain the optional keyword argument.
- static QDateTime fromString(const QString &string, const QString &format, QCalendar cal = QCalendar());
- %If (Qt_6_7_0 -)
- // This replaces two overloads added in Qy v6.7 designed to maintain compatibility regarding optional keyword arguments.
- static QDateTime fromString(const QString &string, const QString &format, int baseYear, QCalendar cal = QCalendar());
- %End
- qint64 toMSecsSinceEpoch() const;
- void setMSecsSinceEpoch(qint64 msecs);
- qint64 msecsTo(const QDateTime &) const;
- static QDateTime currentDateTimeUtc();
- static qint64 currentMSecsSinceEpoch();
- void swap(QDateTime &other /Constrained/);
- int offsetFromUtc() const;
- QTimeZone timeZone() const;
- QString timeZoneAbbreviation() const;
- bool isDaylightTime() const;
- void setOffsetFromUtc(int offsetSeconds);
- %If (Qt_6_7_0 -)
- void setTimeZone(const QTimeZone &toZone, QDateTime::TransitionResolution resolve = QDateTime::TransitionResolution::LegacyBehavior);
- %End
- %If (- Qt_6_7_0)
- void setTimeZone(const QTimeZone &toZone);
- %End
- QDateTime toOffsetFromUtc(int offsetSeconds) const;
- QDateTime toTimeZone(const QTimeZone &toZone) const;
- // The optional arguments are marked as deprecated in Qt v6.9.
- static QDateTime fromMSecsSinceEpoch(qint64 msecs, Qt::TimeSpec spec = Qt::LocalTime, int offsetSeconds = 0);
- static QDateTime fromMSecsSinceEpoch(qint64 msecs, const QTimeZone &timeZone);
- qint64 toSecsSinceEpoch() const;
- void setSecsSinceEpoch(qint64 secs);
- // The optional arguments are marked as deprecated in Qt v6.9.
- static QDateTime fromSecsSinceEpoch(qint64 secs, Qt::TimeSpec spec = Qt::LocalTime, int offsetSeconds = 0);
- static QDateTime fromSecsSinceEpoch(qint64 secs, const QTimeZone &timeZone);
- static qint64 currentSecsSinceEpoch();
- enum class YearRange : qint32
- {
- First,
- Last,
- };
- %If (Qt_6_7_0 -)
- void setDate(QDate date, QDateTime::TransitionResolution resolve = QDateTime::TransitionResolution::LegacyBehavior);
- %End
- %If (- Qt_6_7_0)
- void setDate(QDate date);
- %End
- %If (Qt_6_7_0 -)
- void setTime(QTime time, QDateTime::TransitionResolution resolve = QDateTime::TransitionResolution::LegacyBehavior);
- %End
- %If (- Qt_6_7_0)
- void setTime(QTime time);
- %End
- %If (Qt_6_5_0 -)
- QTimeZone timeRepresentation() const;
- %End
- };
- QDataStream &operator<<(QDataStream &, QDate) /ReleaseGIL/;
- QDataStream &operator>>(QDataStream &, QDate & /Constrained/) /ReleaseGIL/;
- QDataStream &operator<<(QDataStream &, QTime) /ReleaseGIL/;
- QDataStream &operator>>(QDataStream &, QTime & /Constrained/) /ReleaseGIL/;
- QDataStream &operator<<(QDataStream &, const QDateTime &) /ReleaseGIL/;
- QDataStream &operator>>(QDataStream &, QDateTime & /Constrained/) /ReleaseGIL/;
- %If (Qt_6_7_0 -)
- bool operator==(const QDate &lhs, const QDate &rhs);
- %End
- %If (- Qt_6_7_0)
- bool operator==(QDate lhs, QDate rhs);
- %End
- %If (Qt_6_7_0 -)
- bool operator==(const QTime &lhs, const QTime &rhs);
- %End
- %If (- Qt_6_7_0)
- bool operator==(QTime lhs, QTime rhs);
- %End
- bool operator==(const QDateTime &lhs, const QDateTime &rhs);
- %If (Qt_6_7_0 -)
- bool operator!=(const QDate &lhs, const QDate &rhs);
- %End
- %If (- Qt_6_7_0)
- bool operator!=(QDate lhs, QDate rhs);
- %End
- %If (Qt_6_7_0 -)
- bool operator!=(const QTime &lhs, const QTime &rhs);
- %End
- %If (- Qt_6_7_0)
- bool operator!=(QTime lhs, QTime rhs);
- %End
- bool operator!=(const QDateTime &lhs, const QDateTime &rhs);
- %If (Qt_6_7_0 -)
- bool operator<(const QDate &lhs, const QDate &rhs);
- %End
- %If (- Qt_6_7_0)
- bool operator<(QDate lhs, QDate rhs);
- %End
- %If (Qt_6_7_0 -)
- bool operator<(const QTime &lhs, const QTime &rhs);
- %End
- %If (- Qt_6_7_0)
- bool operator<(QTime lhs, QTime rhs);
- %End
- bool operator<(const QDateTime &lhs, const QDateTime &rhs);
- %If (Qt_6_7_0 -)
- bool operator<=(const QDate &lhs, const QDate &rhs);
- %End
- %If (- Qt_6_7_0)
- bool operator<=(QDate lhs, QDate rhs);
- %End
- %If (Qt_6_7_0 -)
- bool operator<=(const QTime &lhs, const QTime &rhs);
- %End
- %If (- Qt_6_7_0)
- bool operator<=(QTime lhs, QTime rhs);
- %End
- bool operator<=(const QDateTime &lhs, const QDateTime &rhs);
- %If (Qt_6_7_0 -)
- bool operator>(const QDate &lhs, const QDate &rhs);
- %End
- %If (- Qt_6_7_0)
- bool operator>(QDate lhs, QDate rhs);
- %End
- %If (Qt_6_7_0 -)
- bool operator>(const QTime &lhs, const QTime &rhs);
- %End
- %If (- Qt_6_7_0)
- bool operator>(QTime lhs, QTime rhs);
- %End
- bool operator>(const QDateTime &lhs, const QDateTime &rhs);
- %If (Qt_6_7_0 -)
- bool operator>=(const QDate &lhs, const QDate &rhs);
- %End
- %If (- Qt_6_7_0)
- bool operator>=(QDate lhs, QDate rhs);
- %End
- %If (Qt_6_7_0 -)
- bool operator>=(const QTime &lhs, const QTime &rhs);
- %End
- %If (- Qt_6_7_0)
- bool operator>=(QTime lhs, QTime rhs);
- %End
- bool operator>=(const QDateTime &lhs, const QDateTime &rhs);
|