输入一个日期和时间,输出下一秒的日期和时间
来源:互联网 发布:nginx tomcat https 编辑:程序博客网 时间:2024/04/18 04:59
这是一道比较经典的面试题目。开始实现的时候,考虑的不是很周全、代码效率也不高,几经参考、修改得到了如下版本。个人感觉还是一段比较好的实现代码,特拿出来和大家一起分享!
编译环境:VS2010
项目类型:win32 Console Application.
如下是本人的拙作,欢迎大家指正,共同进步!
//输入一个时间,输出下一秒的时间。//例如输入2008年2月28日23时59分59秒,//输出为:2008年2月29日0时0分0秒。//输入一个时间,输出下一秒的时间。//例如输入2008年2月28日23时59分59秒,//输出为:2008年2月29日0时0分0秒。#include "stdafx.h"#include "stdio.h"#include "iostream"using namespace std;// 声明功能函数,输入变量以引用方式存放,这样方便在测试函数main里面打印输出。void nextsecond(int & year, int & month, int & day, int & hour,int & minute, int & second);int _tmain(int argc, _TCHAR* argv[]){ // 定义几个变量存放日期和时间。int a, b, c, d, e, f;cout << "input:year month day hour minute second" << endl;while(1){cin >> a;cin >> b;cin >> c >> d >> e >> f;nextsecond(a,b,c,d,e,f); cout << a << ' ' << b << ' ' << c << ' ' << d << ' ' << e << ' ' << f << endl;}return 0;}void nextsecond(int & year, int & month, int & day, int & hour, int & minute, int & second){ int DayOfMonth[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; // 每个月的分别对应的天数if(second >= 60 // 如果输入不正确的时间会报错,请求你重新输入|| minute >= 60|| hour >= 24|| day > 28 && month == 2 && (0 != year % 4 || 0 == year / 400)|| day > 29 && month == 2 && (0 == year % 4 && 0 != year /400)|| day > 30 && (month == 4 || month == 6 || month == 9 || month == 11)|| day > 31 && (month == 1 || month == 3 || month == 5 || month == 7)|| month > 12|| second <= 0|| minute <= 0|| hour <= 0|| day <= 0|| month <= 0){cout << "please input correct time:" << endl;year = month = day = hour = minute = second = 0;return; //如果输入不正确的日期时间不正确,返回。}if(0 == year % 4 && 0 != year / 400) // 如果是闰年的话,2月份是29天,这里修正了数组。DayOfMonth[1] = 29;second += 1; if(second == 60) // 增加一秒之后,完成日期和时间的更新{second = 0;minute += 1;if(minute == 60){minute = 0;hour += 1;if(hour == 24){hour = 0;day += 1;if(day > DayOfMonth[month-1]){day = 1;month += 1;if(month == 13){month = 1;year += 1;}}}}}}
- 输入一个日期和时间,输出下一秒的日期和时间
- 动态输入日期和时间
- C#日期和时间的格式化输出
- 格式化输出日期和时间
- 格式化输出日期和时间
- 一个简单的时间和日期程序
- 输入任意日期时间 输出下一秒
- 输入起止日期和截至日期 输出这段时间每一天
- EXCEL快速输入当前日期和时间
- Html5 - 日期和时间选择输入
- Linux date格式化输出时间和日期
- ls指定日期和时间输出格式
- Linux date格式化输出时间和日期
- excel的日期和时间
- 日期和时间的转换
- 日期和时间的使用
- 日期和时间的使用
- DB2的日期和时间
- 利用Axis2开发WebService(3)---用Java实现调用WebService的客户端程序
- 单身快乐(致一个人的情人节)
- android小经验 - 小心数据类型
- c++ 截取屏幕图片并保存
- QTableView是显示表格状的视图
- 输入一个日期和时间,输出下一秒的日期和时间
- mysql 控制台 乱码
- Unix 时间
- SQLite学习笔记(10)资料搜集
- 单身快乐(致一个人的情人节)
- osg 学习 之十五:阴影和光照
- java减少数据访问层代码—反射1—数据访问层Wrapper
- [转载]udp丢包 又是udp丢包
- 在一般处理文件中访问Session需要添加IRequiresSessionState(转载)