其他分享
首页 > 其他分享> > qt数字电子钟(根据进位计算实现)

qt数字电子钟(根据进位计算实现)

作者:互联网

目的

使用定时器(QTimer类)与进位计算实现具有日期显示功能的电子钟,通过界面可以修改日期和时间。不能使用Qt自带的日期和时间类(QDate、QDatetime、QTime等)进行设计。

简介:

输入一个初始时间,使用定时器根据时间日期的进位计算进行时间数据更新。主要考虑平年闰年问题,月份天数问题等。

效果:

代码:

//判断平年还是闰年
//参数year 是输入的年份  如果是平年就返回true,如果是闰年就返回false
bool MainForm::isCommonYear(int year)
{
    //要判断某一年是不是闰年,一般方法是用4或400去除这一年的年份数,如果除得的商是整数而没有余数,那么这一年是闰年。
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
    {
        //闰年
        return false;
    }
    else
    {
        //平年
        return true;
    }
}
//判断这个月有多少天
//如果月份数对,年数 返回天数
int MainForm::howManyDayofTheMonth(int month,int year)
{
    //先判断是平年还是闰年
    //如果是平年,那么2月就是28天
    if(isCommonYear(year))
    {
        //如果是2月
        if(month == 2)
        {
            return 28;
        }
        if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
        {
            //如果是1 3 5 7 8 10 12 这几个月份,那就是31天
            return 31;
        }
        //如果不是上面的月份,那就返回30天
        return 30;

    }
    //如果是闰年
    if(month == 2)
    {
        return 29;
    }
    if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
    {
        //如果是1 3 5 7 8 10 12 这几个月份,那就是31天
        return 31;
    }
    //如果不是上面的月份,那就返回30天
    return 30;
}
 

 exe体验地址(百度网盘链接):

链接:https://pan.baidu.com/s/1lWv96yRTQmQfDFHDtQmxAg 
提取码:2tlt 

源码购买:

1.扫描支付宝收款码备注邮箱

2.扫描微信收款码备注邮箱

3.扫描收款码付款后联系yue_xusy@163.com 备注博客标题

支付宝:

微信:

 

标签:10,return,qt,闰年,30,month,电子钟,year,进位
来源: https://blog.csdn.net/xby826/article/details/91371482