时间函数

时间,不外乎就是获取时间,必要时转化一下时间显示格式.直接看例子吧

QDateEdit 和 QTimeEdit
QDateEdit
  • date:保存了部件的显示日期。
  • minimumDate:定义了用户可以设置的最小日期。
  • maximumDate:定义了用户可以设置的最大日期。
  • displayFormat:包含了一个字符串用于格式化日期。
QTimeEdit
  • time:保存了部件的显示时间。
  • minimumTime:定义了用户可以设- 置的最小时间。
  • maximumTime:定义了用户可以设置的最大时间。
  • displayFormat:包含了一个字符串用于格式化时间。
QDateTime
时间调整和范围设置
函数 描述
QDateTime addDays(qint64 ndays) const
QDateTime addMSecs(qint64 msecs) const
QDateTime addMonths(int nmonths) const
QDateTime addSecs(qint64 s) const
QDateTime addYears(int nyears) const
void setDate(const QDate &date)
void setTime(const QTime &time)
void setTimeSpec(Qt::TimeSpec spec) 区域时间
void setTimeZone(const QTimeZone &toZone) 时区
判断
函数 描述
bool isDaylightTime() const
bool isNull() const
bool isValid() const
格式转化
函数 描述
CFDateRef toCFDate() const
QDateTime toLocalTime() const
qint64 toMSecsSinceEpoch() const
NSDate * toNSDate() const
QDateTime toOffsetFromUtc(int offsetSeconds) const
qint64 toSecsSinceEpoch() const
QString toString(const QString &format) const
QString toString(Qt::DateFormat format = Qt::TextDate) const
QString toString(QStringView format) const
QDateTime toTimeSpec(Qt::TimeSpec spec) const
QDateTime toTimeZone(const QTimeZone &timeZone) const
QDateTime toUTC() const
格式控制
字符 表示
h the hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)
hh the hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)
H the hour without a leading zero (0 to 23, even with AM/PM display)
HH the hour with a leading zero (00 to 23, even with AM/PM display)
m the minute without a leading zero (0 to 59)
mm the minute with a leading zero (00 to 59)
s the whole second without a leading zero (0 to 59)
ss the whole second with a leading zero where applicable (00 to 59)
z the fractional part of the second, to go after a decimal point, without trailing zeroes (0 to 999). Thus “s.z” reports the seconds to full
zzz the fractional part of the second, to millisecond precision, including trailing zeroes where applicable (000 to 999).
AP or A use AM/PM display. A/AP will be replaced by either “AM” or “PM”.
ap or a use am/pm display. a/ap will be replaced by either “am” or “pm”.
t the timezone (for example “CEST”)
QDateTimeEdit

时间日期函数,可以设置显示格式,时间范围,调用日历

set
函数 描述
oid setCalendarPopup(bool enable) 弹出日历选择
void setCalendarWidget(QCalendarWidget *calendarWidget) 弹出的日历窗体
void setCurrentSection(QDateTimeEdit::Section section) 设置现在的session
void setCurrentSectionIndex(int index)
void setDateRange(const QDate &min, const QDate &max) data 范围
void setDateTimeRange(const QDateTime &min, const QDateTime &max) datetime 范围
void setDisplayFormat(const QString &format) 显示格式
void setMaximumDate(const QDate &max)
void setMaximumDateTime(const QDateTime &dt)
void setMaximumTime(const QTime &max)
void setMinimumDate(const QDate &min)
void setMinimumDateTime(const QDateTime &dt)
void setMinimumTime(const QTime &min)
void setSelectedSection(QDateTimeEdit::Section section) 设置当前的seeion
void setTimeRange(const QTime &min, const QTime &max)
void setTimeSpec(Qt::TimeSpec spec) 区域
slots
void    setDate(const QDate &date)
void    setDateTime(const QDateTime &dateTime)
void    setTime(const QTime &time)
signal
void    dateChanged(const QDate &date)
void    dateTimeChanged(const QDateTime &datetime)
void    timeChanged(const QTime &time)
/*
 * 时间日期函数
 * 时间的获取,输出的格式,转化类型给QString,日历的调用
*/
mywidget::mywidget()
{
    setWindowTitle("my widget test");
    QVBoxLayout *layout=new QVBoxLayout(this);

    QDateTimeEdit *pdate_time_edit=new QDateTimeEdit(QDateTime::currentDateTime(),this);
    pdate_time_edit->setDateRange(QDate::currentDate().addDays(-365),QDate::currentDate().addDays(365));//设置范围
    pdate_time_edit->setTimeRange(QTime::currentTime().addMSecs(-10),QTime::currentTime().addMSecs(10));
    pdate_time_edit->setDisplayFormat("yyyy-MM-dd HH:mm:ss");
    pdate_time_edit->setCalendarPopup(true); //允许弹出日历
    layout->addWidget(pdate_time_edit);
    qDebug()<<"Date:"<<pdate_time_edit->date();
    qDebug()<<"date_time:"<<pdate_time_edit->dateTime();
    //signal
    connect(pdate_time_edit,QOverload<const QDate&>::of(&QDateTimeEdit::dateChanged),[&pdate_time_edit](QDate date){
        qDebug()<<"Date have change,now date is "<sectionText(QDateTimeEdit::YearSection);
    QString strMonth = pdate_time_edit->sectionText(QDateTimeEdit::MonthSection);
    QString strDay = pdate_time_edit->sectionText(QDateTimeEdit::DaySection);
    QString strHour = pdate_time_edit->sectionText(QDateTimeEdit::HourSection);
    QString strMinute = pdate_time_edit->sectionText(QDateTimeEdit::MinuteSection);
    QString strSecond = pdate_time_edit->sectionText(QDateTimeEdit::SecondSection);
    qDebug()<show();
}

转载于:https://www.cnblogs.com/zylg/p/9831875.html

你可能感兴趣的:(时间函数)