QDateTime 已废弃的成员
以下 QDateTime 类的成员已废弃。 提供它们是为了保持旧代码的兼容性。我们强烈建议不要在新代码中使用它们。
公共函数
(自 6.9 已废弃) | QDateTime(QDate date, QTime time, Qt::TimeSpec spec, int offsetSeconds = 0) |
(自 6.9 已废弃) void | setOffsetFromUtc(int offsetSeconds) |
(自 6.9 已废弃) void | setTimeSpec(Qt::TimeSpec spec) |
(自 6.9 已废弃) QDateTime | toTimeSpec(Qt::TimeSpec spec) const |
静态公共成员
(自 6.9 已废弃) QDateTime | fromMSecsSinceEpoch(qint64 msecs, Qt::TimeSpec spec, int offsetSeconds = 0) |
(自 6.9 已废弃) QDateTime | fromSecsSinceEpoch(qint64 secs, Qt::TimeSpec spec, int offsetSeconds = 0) |
成员函数文档
[废弃于 6.9]
QDateTime::QDateTime(QDate date, QTime time, Qt::TimeSpec spec, int offsetSeconds = 0)
此函数自 6.9 已废弃。我们强烈建议不要在新代码中使用它。
请使用 QDateTime(date, time)
或 QDateTime(date, time, QTimeZone::fromSecondsAheadOfUtc(offsetSeconds))
。
使用给定的 date 和 time 构造日期时间,使用 spec 暗示的时间表示法和 offsetSeconds 秒。
如果 date 有效而 time 无效,时间将被设置为午夜。
如果 spec 不是 Qt::OffsetFromUTC,则忽略 offsetSeconds。如果 spec 是 Qt::OffsetFromUTC 并且 offsetSeconds 为 0,则 timeSpec() 将被设置为 Qt::UTC,即 0 秒的偏移。
如果 spec 是 Qt::TimeZone,则 spec 将被设置为 Qt::LocalTime,即当前系统时区。要创建 Qt::TimeZone 日期时间,请使用正确的构造函数。
如果 date 超出了 QDateTime 表示的日期范围,则结果是无效的。如果 spec 是 Qt::LocalTime 且系统的时区跳过了给定的日期和时间,则结果是无效的。
[静态,自6.9版已过时]
QDateTime QDateTime::fromMSecsSinceEpoch(qint64 msecs, Qt::TimeSpec spec, int offsetSeconds = 0)
此函数自 6.9 已废弃。我们强烈建议不要在新代码中使用它。
这是一个重载函数。
请传入一个QTimeZone实例,或者省略spec和offsetSeconds。
返回一个表示从1970年1月1日起,UTC时间后的给定毫秒数msecs的指针的日期时间,描述方式由spec和offsetSeconds指定。
注意,对于msecs存在可能的值,这些值超出QDateTime的有效范围,包括正值和负值。对于这些值,此函数的行为是未定义的。
如果spec不是Qt::OffsetFromUTC,则忽略offsetSeconds。如果spec是Qt::OffsetFromUTC且offsetSeconds为0,则使用Qt::UTC作为spec,因为UTC的偏移量为零。
如果spec是Qt::TimeZone,则使用Qt::LocalTime代替,等同于使用当前系统时区(但表示方式不同)。
另请参阅fromSecsSinceEpoch(),toMSecsSinceEpoch()和setMSecsSinceEpoch()。
[静态,自6.9版已过时]
Q QDateTime QDateTime::fromSecsSinceEpoch(qint64 secs, Qt::TimeSpec spec, int offsetSeconds = 0)
此函数自 6.9 已废弃。我们强烈建议不要在新代码中使用它。
这是一个重载函数。
请传入一个QTimeZone实例,或者省略spec和offsetSeconds。
返回一个表示从1970年1月1日开始,UTC时间后的给定秒数secs的指针的日期时间,描述方式由spec和offsetSeconds指定。
注意,对于secs存在可能的值,这些值超出QDateTime的有效范围,包括正值和负值。对于这些值,此函数的行为是未定义的。
如果spec不是Qt::OffsetFromUTC,则忽略offsetSeconds。如果spec是Qt::OffsetFromUTC且offsetSeconds为0,则使用Qt::UTC作为spec,因为UTC的偏移量为零。
如果spec是Qt::TimeZone,则使用Qt::LocalTime代替,等同于使用当前系统时区(但表示方式不同)。
另请参阅fromMSecsSinceEpoch(),toSecsSinceEpoch()和setSecsSinceEpoch()。
[自6.9版已过时]
void QDateTime::setOffsetFromUtc(int offsetSeconds)
此函数自 6.9 已废弃。我们强烈建议不要在新代码中使用它。
请使用setTimeZone(QTimeZone::fromSecondsAheadOfUtc(offsetSeconds))代替。
将timeSpec()设置为Qt::OffsetFromUTC,并将偏移量设置为offsetSeconds。日期时间可能指向不同的时间点。
最大和最小偏移量是14个正负小时。如果offsetSeconds大于或小于此值,则结果未定义。
如果offsetSeconds为0,则timeSpec()将被设置为Qt::UTC。
另请参阅 setTimeZone(),isValid(),offsetFromUtc()和toOffsetFromUtc()。
[已在6.9版本中弃用]
void QDateTime::setTimeSpec(Qt::TimeSpec spec)
此函数自 6.9 已废弃。我们强烈建议不要在新代码中使用它。
请使用setTimeZone()代替
将此datetiem使用的时规范设置为spec。日期时间可能指向不同的时间点。
如果spec是Qt::OffsetFromUTC,则timeSpec()将设置为Qt::UTC,即有效的偏移量为0。
如果spec是Qt::TimeZone,则spec将设置为Qt::LocalTime,即当前系统时区。
示例
QDateTime local(QDateTime::currentDateTime()); qDebug() << "Local time is:" << local; QDateTime UTC(local); UTC.setTimeSpec(Qt::UTC); qDebug() << "UTC time is:" << UTC; qDebug() << "There are" << local.secsTo(UTC) << "seconds difference between the datetimes.";
另请参阅 setTimeZone(),timeSpec(),toTimeSpec(),setDate()和setTime()。
[已在6.9版本中弃用]
QDateTime QDateTime::toTimeSpec(Qt::TimeSpec spec) const
此函数自 6.9 已废弃。我们强烈建议不要在新代码中使用它。
请使用toTimeZone()代替。
返回此datetime转换为给定的时间spec的副本。
结果表示与、等于此datetime相同的同一时间点。
如果spec是Qt::OffsetFromUTC,则将其设置为Qt::UTC。要设置相对于UTC的固定偏移量,请使用toTimeZone()或toOffsetFromUtc()。
如果spec是Qt::TimeZone,则将其设置为Qt::LocalTime,即本地时区。要设置指定的时区,请使用toTimeZone()。
示例
QDateTime local(QDateTime::currentDateTime()); QDateTime UTC(local.toTimeSpec(Qt::UTC)); qDebug() << "Local time is:" << local; qDebug() << "UTC time is:" << UTC; qDebug() << "No difference between times:" << local.secsTo(UTC);
另请参阅 setTimeSpec(),timeSpec()和toTimeZone()。
© 2024 The Qt Company Ltd. 本文档中的文档贡献归各自的所有者所有。本文档提供的文档在自由软件基金会的条款和条件下发布,许可协议为GNU自由文档许可协议版本1.3。Qt及其相关标志是芬兰的The Qt Company Ltd.在全球和其他国家的商标。所有其他商标均为各自所有者的财产。