我是靠谱客的博主 刻苦洋葱,这篇文章主要介绍实现下一秒日期计算(简单的时钟)。,现在分享给大家,希望可以做个参考。

// 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;
}

最后

以上就是刻苦洋葱最近收集整理的关于实现下一秒日期计算(简单的时钟)。的全部内容,更多相关实现下一秒日期计算(简单内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(114)

评论列表共有 0 条评论

立即
投稿
返回
顶部