复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84// 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; }
最后
以上就是刻苦洋葱最近收集整理的关于实现下一秒日期计算(简单的时钟)。的全部内容,更多相关实现下一秒日期计算(简单内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复