返回介绍

QDate类

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

QDate类提供了日期功能。 详情请见……

#include <qdatetime.h>

所有成员函数的列表。

公有成员

  • QDate ()
  • QDate ( inty, intm, intd )
  • bool isNull () const
  • bool isValid () const
  • int year () const
  • int month () const
  • int day () const
  • int dayOfWeek () const
  • int dayOfYear () const
  • int daysInMonth () const
  • int daysInYear () const
  • QString toString ( Qt::DateFormatf = Qt::TextDate ) const
  • QString toString ( constQString&format ) const
  • bool setYMD ( inty, intm, intd )
  • QDate addDays ( intndays ) const
  • QDate addMonths ( intnmonths ) const
  • QDate addYears ( intnyears ) const
  • int daysTo ( constQDate&d ) const
  • bool operator== ( constQDate&d ) const
  • bool operator!= ( constQDate&d ) const
  • bool operator< ( constQDate&d ) const
  • bool operator<= ( constQDate&d ) const
  • bool operator> ( constQDate&d ) const
  • bool operator>= ( constQDate&d ) const

静态公有成员

  • QString monthName ( intmonth ) (obsolete)
  • QString dayName ( intweekday ) (obsolete)
  • QString shortMonthName ( intmonth )
  • QString shortDayName ( intweekday )
  • QString longMonthName ( intmonth )
  • QString longDayName ( intweekday )
  • QDate currentDate ()
  • QDate fromString ( constQString&s, Qt::DateFormatf = Qt::TextDate )
  • bool isValid ( inty, intm, intd )
  • bool leapYear ( inty )

相关函数

  • QDataStream & operator<< ( QDataStream&s, constQDate&d )
  • QDataStream & operator>> ( QDataStream&s, QDate&d )

详细描述

QDate类提供了日期功能。

QDate对象包含日历日期,比如现代西方(教皇格列高利一世的)日历年、月和日的数字。它可以从系统时钟中读取当前日期。它提供比较日期和操作日期的函数,比如加上一定数量的天、月或年。

QDate对象通常可以由明白地给定的年、月、日数字来创建,或者使用静态函数currentDate()让QDate对象包含系统时钟日期。一个明确的日期也可以用setYMD()来设置。fromString()函数通过一个给定的字符串和在字符串中日期格式的间隔说明就可以返回一个QDate。

year()、month()和day()函数提供了对年、月、日数字的访问。也提供了dayOfWeek()和dayOfYear()函数。toString()、shortDayName()、longDayName()、shortMonthName()和longMonthName()提供了文本格式的相同信息。

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

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

daysInMonth()和daysInYear()函数分别返回这个日期在当月和当年的天数。leapYear()函数说明这个日期是不是在一个闰年中。

注意QDate不应用于早于格列高利历的日期的计算。这个历法是英格兰从1752年9月14日采用的(因此这是最早有效的QDate),并且后来其他绝大多数西方国家知道1923年才采用。

QDate的结束时间可以一直到8000年,到那个时候我们希望Qt已经被废弃了。

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


成员函数文档

QDate::QDate ()

构造一个零日期。零日期是无效的。

也可以参考isNull()和isValid()。

QDate::QDate ( inty, intm, intd )

构造一个年、月、日分别为ymd的日期。

y必须在1752-8000之间,m必须在1-12之间,d必须在1-31之间。例外,如果y在0-99之间,它表示的是1900-1999。

也可以参考isValid()。

QDate QDate::addDays ( intndays ) const

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

也可以参考daysTo()。

QDate QDate::addMonths ( intnmonths ) const

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

QDate QDate::addYears ( intnyears ) const

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

QDate QDate::currentDate () [静态]

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

也可以参考QTime::currentTime()和QDateTime::currentDateTime()。

实例:dclock/dclock.cpp。

int QDate::day () const

返回这个日期在月中的天数(1-31)。

也可以参考year()、month()和dayOfWeek()。

实例:dclock/dclock.cpp。

QString QDate::dayName ( intweekday ) [静态]

这个函数是废弃的。它的提供是为了保证就代码能够工作。我们强烈建议你在新代码中不要使用它。

使用shortDayName()来替代它。

int QDate::dayOfWeek () const

返回这个日期中在星期中的天数(星期一为1-星期日为7)。

也可以参考day()和dayOfYear()。

int QDate::dayOfYear () const

返回这个日期中在年中的天数(1-365)。

也可以参考day()和dayOfWeek()。

int QDate::daysInMonth () const

返回这个日期中这个月的总天数(28-31)。

也可以参考day()和daysInYear()。

int QDate::daysInYear () const

返回这个日期中这个年的总天数(365-366)。

也可以参考day()和daysInMonth()。

int QDate::daysTo ( constQDate&d ) const

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

实例:

    QDate d1( 1995, 5, 17 );  // 1995年5月17日
    QDate d2( 1995, 5, 20 );  // 1995年5月20日
    d1.daysTo( d2 );          // 返回3
    d2.daysTo( d1 );          // 返回-3
  

也可以参考addDays()。

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

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

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

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

bool QDate::isNull () const

如果这个日期是零日期,返回真,否则返回假。一个零日期是无效的。

也可以参考isValid()。

bool QDate::isValid () const

如果这个日期是有效的,返回真,否则返回假。

也可以参考isNull()。

bool QDate::isValid ( inty, intm, intd ) [静态]

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

如果一个给定的(年、月、日分别为ymd)日期是有效的,返回真。

实例:

    QDate::isValid( 2002, 5, 17 );  // 真,2002年5月17日是有效的
    QDate::isValid( 2002, 2, 30 );  // 假,2月30日是不存在的
    QDate::isValid( 2004, 2, 29 );  // 真,2004年是闰年
    QDate::isValid( 1202, 6, 6 );   // 假,1202是在格列高利历之前的
  

注意如果y在0-99范围内表示1900-1999。

也可以参考isNull()和setYMD()。

bool QDate::leapYear ( inty ) [静态]

如果给定的年y是闰年,返回真。

QString QDate::longDayName ( intweekday ) [静态]

返回这一日weekday在星期中的长名称。

1 = “Monday”、2 = “Tuesday”、……7 = “Sunday”

日名称将根据系统本地设置而改变。

也可以参考toString()、shortDayName()、shortMonthName()和longMonthName()。

QString QDate::longMonthName ( intmonth ) [静态]

返回这一月month的长名称。

1 = “January”、2 = “February”、……12 = “December”

月名称将根据系统本地设置而改变。

也可以参考toString()、shortMonthName()、shortDayName()和longDayName()。

int QDate::month () const

返回这个日期的月(一月为1-十二月为12)。

也可以参考year()和day()。

实例:dclock/dclock.cpp。

QString QDate::monthName ( intmonth ) [静态]

这个函数是废弃的。它的提供是为了保证就代码能够工作。我们强烈建议你在新代码中不要使用它。

使用shortMonthName()来替代它。

bool QDate::operator!= ( constQDate&d ) const

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

bool QDate::operator< ( constQDate&d ) const

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

bool QDate::operator<= ( constQDate&d ) const

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

bool QDate::operator== ( constQDate&d ) const

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

bool QDate::operator> ( constQDate&d ) const

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

bool QDate::operator>= ( constQDate&d ) const

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

bool QDate::setYMD ( inty, intm, intd )

设置日期的年、月、日分别为ymd

y必须在1752-8000之间,m必须在1-12之间,d必须在1-31之间。例外,如果y在0-99之间,它表示的是1900-1999。

如果日期有效,返回真,否则返回假。

QString QDate::shortDayName ( intweekday ) [静态]

返回这一日weekday在星期中的名称。

1 = “Mon”、2 = “Tue”、……7 = “Sun”

日名称将根据系统本地设置而改变。

也可以参考toString()、shortMonthName()、longMonthName()和longDayName()。

QString QDate::shortMonthName ( intmonth ) [静态]

返回这一月month的名称。

1 = “Jan”、2 = “Feb”、……12 = “Dec”

月名称将根据系统本地设置而改变。

也可以参考toString()、longMonthName()、shortDayName()和longDayName()。

QString QDate::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)

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

格式字符串实例(假设这个QDate为2001年5月21日)

  • “dd.MM.yyyy”的结果将是“21.05.2001”。
  • “ddd MMMM d yy”的结果将是“Tue May 21 01”。

也可以参考QDate::toString() and QTime::toString().

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

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

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

如果f是Qt::TextDate,字符串格式是“Sat May 20 1995”(使用shortDayName()和shortMonthName()函数来生成本地指定的字符串)。

如果f是Qt::ISODate,字符串格式遵循ISO 8601表示日期的说明,也就是YYYY-MM-DD,YYYY是年,MM是月(01-12),DD是日(01-31)。

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

也可以参考shortDayName() and shortMonthName().

int QDate::year () const

返回这个日期的年(1752-8000)。

也可以参考month()和day()。


相关函数

QDataStream& operator<< ( QDataStream&s, constQDate&d )

写日期d到流s中。

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

QDataStream& operator>> ( QDataStream&s, QDate&d )

从流s中读取一个日期到d中。

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

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

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

发布评论

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