返回介绍

QDateTime类

发布于 2019-10-04 14:59:23 字数 8737 浏览 1489 评论 0 收藏 0

QDateTime类提供了日期和时间功能。 详情请见……

#include <qdatetime.h>

所有成员函数的列表。

公有成员

  • QDateTime ()
  • QDateTime ( constQDate&date )
  • QDateTime ( constQDate&date, constQTime&time )
  • bool isNull () const
  • bool isValid () const
  • QDate date () const
  • QTime time () const
  • void setDate ( constQDate&date )
  • void setTime ( constQTime&time )
  • void setTime_t ( uintsecsSince1Jan1970UTC )
  • QString toString ( Qt::DateFormatf = Qt::TextDate ) const
  • QString toString ( constQString&format ) const
  • QDateTime addDays ( intndays ) const
  • QDateTime addMonths ( intnmonths ) const
  • QDateTime addYears ( intnyears ) const
  • QDateTime addSecs ( intnsecs ) const
  • int daysTo ( constQDateTime&dt ) const
  • int secsTo ( constQDateTime&dt ) const
  • bool operator== ( constQDateTime&dt ) const
  • bool operator!= ( constQDateTime&dt ) const
  • bool operator< ( constQDateTime&dt ) const
  • bool operator<= ( constQDateTime&dt ) const
  • bool operator> ( constQDateTime&dt ) const
  • bool operator>= ( constQDateTime&dt ) const

静态公有成员

  • QDateTime currentDateTime ()
  • QDateTime fromString ( constQString&s, Qt::DateFormatf = Qt::TextDate )

相关函数

  • QDataStream & operator<< ( QDataStream&s, constQDateTime&dt )
  • QDataStream & operator>> ( QDataStream&s, QDateTime&dt )

详细描述

QDateTime类提供了日期和时间功能。

QDateTime对象包含一个日历日期和一个时钟时间(一个“日期时间”)。它是QDate和QTime两个类的组合。它可以从系统时钟中读取当前日期时间。它提供比较日期时间和操作日期时间的函数,比如加上一定数量的秒、天、月或年。

QDateTime对象通常可以由明白地给定的日期和时间来创建,或者使用静态函数currentDateTime()让QDateTime对象包含系统时钟的日期时间。日期时间也可以由setDate()和setTime()来改变。日期时间也可以通过使用setTime_t()函数来得到一个POSIX标准的时间,它表示的是自从1970年1月1日00:00:00以来的秒数。fromString()函数通过一个给定的字符串和在字符串中日期时间格式的间隔说明就可以返回一个QDateTime。

date()和time()函数提供了对日期和时间的访问。toString()提供了文本格式的相同信息。

QDateTime提供了一整套的操作符来比较两个QDateTime对象,在这里小于表示早一些,大于表示晚一些。

你可以使用addSecs()或addDays()给一个日期增加(或减少)一个给定的秒数或天数。相似地你可以使用addMonths()和addYears()。daysTo()函数返回两个日期时间之间的天数,sectTo()返回两个日期时间之间的秒数。

日期时间对象的范围由QDate和QTime对象的范围约束。

也可以参考QDate、QTime、QDateTimeEdit和时间和日期。


成员函数文档

QDateTime::QDateTime ()

构造一个零日期时间(比如,零日期和零时间)。一个零日期时间是无效的,因为零日期是无效的。

也可以参考isValid()。

QDateTime::QDateTime ( constQDate&date )

构造一个日期为date和零时间(00:00:00.000)的日期时间。

QDateTime::QDateTime ( constQDate&date, constQTime&time )

构造一个日期为date和时间为time的日期时间。

QDateTime QDateTime::addDays ( intndays ) const

返回这个日期时间对象ndays天之后的一个日期时间对象(或者ndays天之前的,如果它是一个负数)。

也可以参考daysTo()、addMonths()、addYears()和addSecs()。

QDateTime QDateTime::addMonths ( intnmonths ) const

返回这个日期时间对象nmonths月之后的一个日期时间对象(或者nmonths月之前的,如果它是一个负数)。

也可以参考daysTo()、addDays()、addYears()和addSecs()。

QDateTime QDateTime::addSecs ( intnsecs ) const

返回这个日期时间对象nsecs秒之后的一个日期时间对象(或者nsecs秒之前的,如果它是一个负数)。

也可以参考secsTo()、addDays()、addMonths()和addYears()。

实例:listviews/listviews.cpp。

QDateTime QDateTime::addYears ( intnyears ) const

返回这个日期时间对象nyears年之后的一个日期时间对象(或者nyears年之前的,如果它是一个负数)。

也可以参考daysTo()、addDays()、addMonths()和addSecs()。

QDateTime QDateTime::currentDateTime () [静态]

返回当前日期时间,来自于系统时钟。

也可以参考QDate::currentDate()和QTime::currentTime()。

实例:listviews/listviews.cpp。

QDate QDateTime::date () const

返回日期时间的日期部分。

也可以参考setDate()和time()。

int QDateTime::daysTo ( constQDateTime&dt ) const

返回这个日期时间到dt的天数(如果dt早于这个日期时间,返回的为负数)。

也可以参考addDays()和secsTo()。

QDateTime QDateTime::fromString ( constQString&s, Qt::DateFormatf = Qt::TextDate ) [静态]

通过给定的字符串s,使用格式f,返回这个QDateTime,或者如果这是不可能的话返回一个无效的日期时间。

注意Qt::LocalDate在这里不能使用。

注意Qt::TextDate:它被推荐使用英语中的月的缩写格式(比如Jan)。本地的月名称也可以被使用,但这取决于用户的本地设置。

bool QDateTime::isNull () const

如果日期和时间都是零,返回真,否则返回假。一个零日期时间是无效的。

也可以参考QDate::isNull()和QTime::isNull()。

bool QDateTime::isValid () const

如果日期和时间都是有效的,返回真,否则返回假。

也可以参考QDate::isValid()和QTime::isValid()。

bool QDateTime::operator!= ( constQDateTime&dt ) const

如果这个日期时间不等于dt,返回真,否则返回假。

也可以参考operator==()。

bool QDateTime::operator< ( constQDateTime&dt ) const

如果这个日期时间早于dt,返回真,否则返回假。

bool QDateTime::operator<= ( constQDateTime&dt ) const

如果这个日期时间不晚于dt,返回真,否则返回假。

bool QDateTime::operator== ( constQDateTime&dt ) const

如果这个日期时间等于dt,返回真,否则返回假。

也可以参考operator!=()。

bool QDateTime::operator> ( constQDateTime&dt ) const

如果这个日期时间晚于dt,返回真,否则返回假。

bool QDateTime::operator>= ( constQDateTime&dt ) const

如果这个日期时间不早于dt,返回真,否则返回假。

int QDateTime::secsTo ( constQDateTime&dt ) const

返回从这个日期到dt的秒数(如果dt早于这个日期,返回的为负数)。

实例:

    QDateTime dt = QDateTime::currentDateTime();
    QDateTime xmas( QDate(dt.year(),12,24), QTime(17,00) );
    qDebug( "There are %d seconds to Christmas", dt.secsTo(xmas) ); // 离圣诞节还有多少秒
  

也可以参考addSecs()、daysTo()和QTime::secsTo()。

void QDateTime::setDate ( constQDate&date )

设置日期时间的日期部分为date

也可以参考date()和setTime()。

void QDateTime::setTime ( constQTime&time )

设置日期时间的时间部分为time

也可以参考time()和setDate()。

void QDateTime::setTime_t ( uintsecsSince1Jan1970UTC )

通过给定的从1970年1月1日00:00:00(通用协调时间)所过的秒来设置本地时间的日期和时间。在不支持时区的系统上,这个函数的行为就好像本地时间是通用协调时间一样。

注意Microsoft Windows只支持一定范围的secsSince1Jan1970UTC的值。

QTime QDateTime::time () const

返回日期时间的时间部分。

也可以参考setTime()和date()。

QString QDateTime::toString ( constQString&format ) const

返回一个字符串的日期时间。format参数决定了结果字符串的格式。

这些是可能用到的日期表达式:

  • d - 没有前置0的数字的天(1-31)
  • dd - 前置0的数字的天(01-31)
  • ddd - 缩写的日名称(Mon-Sun)。使用QDate::shortDayName()。
  • dddd - 长的日名称(Monday-Sunday)。使用QDate::longDayName()。
  • M - 没有前置0的数字的月(1-12)
  • MM - 前置0的数字的月(01-12)
  • MMM - 缩写的月名称(Jan-Dec)。使用QDate::shortMonthName()。
  • MMMM - 长的月名称(January-December)。使用QDate::longMonthName()。
  • yy - 两位数字的年(00-99)
  • yyyy - 四位数字的年(0000-9999)

这些是可能用到的时间表达式:

  • h - 没有前置0的数字的小时(0-23或者如果显示AM/PM时,1-12)
  • hh - 前置0的数字的小时(00-23或者如果显示AM/PM时,01-12)
  • m - 没有前置0的数字的分钟(0-59)
  • mm - 前置0的数字的分钟(00-59)
  • s - 没有前置0的数字的秒(0-59)
  • ss - 前置0的数字的秒(00-59)
  • z - 没有前置0的数字的毫秒(0-999)
  • zzz - 前置0的数字的毫秒(000-999)
  • AP - 切换为AM/PM显示。AP将被“AM”或“PM”替换。
  • ap - 切换为am/pm显示。ap将被“am”或“pm”替换。

所有其他输入字符都将被忽略。

格式字符串实例(假设这个QDateTime为2001年5月21日14:13:09)

  • “dd.MM.yyyy”的结果将是“21.05.2001”
  • “ddd MMMM d yy”的结果将是“Tue May 21 01”
  • “hh:mm:ss.zzz”的结果将是“14:13:09.042”
  • “h:m:s ap”的结果将是“2:13:9 pm”

也可以参考QDate::toString()和QTime::toString()。

QString QDateTime::toString ( Qt::DateFormatf = Qt::TextDate ) const

这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

返回一个字符串的日期时间。f参数决定了结果字符串的格式。

如果f是Qt::TextDate,字符串格式是“Wed May 20 03:40:13 1998”(使用shortDayName()、shortMonthName()和QTime::toString()函数来生成本地指定的字符串)。

如果f是Qt::ISODate,字符串格式遵循ISO 8601表示日期和时间的说明,也就是YYYY-MM-DDTHH:MM:SS。

如果f是Qt::LocalDate,字符串格式依赖于系统的本地设置。

如果f是无效的,toString()返回一个空字符串。

也可以参考QDate::toString()和QTime::toString()。


相关函数

QDataStream& operator<< ( QDataStream&s, constQDateTime&dt )

写日期时间dt到流s中。

也可以参考QDataStream操作符的格式。

QDataStream& operator>> ( QDataStream&s, QDateTime&dt )

从流s中读取一个日期时间到dt

也可以参考QDataStream操作符的格式。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文