概述
// NextSecond.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
class NextSecond {
public:
NextSecond(void) {}
NextSecond(int year, int month, int day, int hour, int min, int sec) :
m_year(year), m_month(month), m_day(day), m_hour(hour), m_min(min), m_sec(sec) {}
void GetTime(void) {
++m_sec;
if (m_sec > 59){
m_sec = 0;
++m_min;
if (m_min > 59){
m_min = 0;
++m_hour;
if (m_hour > 23){
m_hour = 0;
++m_day;
if (m_day > GetMaxDay(m_year, m_month)){
m_day = 1;
++m_month;
if (m_month > 12){
m_month = 1;
++m_year;
}
}
}
}
}
printf("r%d-%02d-%02d %02d:%02d:%02d", m_year,m_month,m_day,m_hour,m_min,m_sec);
}
private:
int m_year;
int m_month;
int m_day;
int m_hour;
int m_min;
int m_sec;
bool IsRunYear(int year)
{
if ((!(year % 4) && (year % 100)) || !(year % 400))
{
return true;
}
return false;
}
int GetMaxDay(int year, int month)
{
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
{
return 31;
}
if (month == 4 || month == 6 || month == 9 || month == 10 || month == 11)
{
return 30;
}
if (IsRunYear(year))
{
return 29;
}
return 28;
}
};
void * doit(void)
{
NextSecond t(2017, 5, 31, 19, 28, 41);
while (true)
{
t.GetTime();
Sleep(1000);
}
}
int main()
{
NextSecond t(2017, 12, 31, 23, 59, 51);
while (true)
{
t.GetTime();
Sleep(1000);
}
return 0;
}
最后
以上就是刻苦洋葱为你收集整理的实现下一秒日期计算(简单的时钟)。的全部内容,希望文章能够帮你解决实现下一秒日期计算(简单的时钟)。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复