输出某年某月某日某时某分某秒的下一秒的时间:年、月、时、分、秒
来源:互联网 发布:幼儿园虐童 知乎 编辑:程序博客网 时间:2024/06/05 11:23
利用C++语言实现日期时间增加一秒的结果:
#include <iostream>#include <string>using namespace std;int ResetTheTime( int *year, int *month, int *day, int *hour, int *minute, int *second );int main( int argc, char const *argv[] ){ int year = 2014; int month = 12; int day = 31; int hour = 23; int minute = 59; int second = 59; cout << year << ' ' << month << ' ' << day << ' ' << hour << ' ' << minute << ' '<< second <<endl; ResetTheTime( &year, &month, &day, &hour, &minute, &second ); return 0;}int ResetTheTime( int *year, int *month, int *day, int *hour, int *minute, int *second ){ // set all months in int_array static int DayOfMonth[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; // error hander if ( *year < 0 || *month < 1 || *month > 12 || *day < 1 || *day >31 || *hour < 0 || *hour >=24 || *minute < 0 || *minute > 59 || *second < 0 || *second > 59) { printf("%s\n", "data error"); exit ( -1 ); } // error if ( *year < 0 || *month < 1 || *month > 12 ) { printf( "%s\n", "month error" ); exit ( -2 ); } // leap year if ( *year % 400 ==0 || *year % 100 != 0 && *year %4 == 0) 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 > 12 ) { *month = 1; *year += 1; } } } } } cout << *year << ' ' << *month << ' ' << *day << ' ' << *hour << ' ' << *minute << ' '<< *second <<endl; return 0 ;}
值得注意的是:
1 . 利用函数实现该功能,屏蔽具体的实现细节,为主函数main提供简洁的接口,利于代码移植。
2 . 实现日期增加一秒的函数有以下注意事项:
i . 实现之前,先进行错误处理:不符合客观事实的输入直接返回有意义的字符串,使得函数退出。
ii . 需要判断年份是否是 闰年 (leap year) 它的特点是:二月为二十九日 ;相反 平年 只有28 天。
iii . 关注客观事实,比如:一分钟等于 60 秒,当秒数大于 59 时,分钟必须增加 1 ,以此类推。
1 0
- 输出某年某月某日某时某分某秒的下一秒的时间:年、月、时、分、秒
- oracle 的sql,查询时间为某年某月某日某时某分某秒等的记录,data或者TIMESTAMP(6)类型的字段
- 获取当前时间的年、月、日、时、分、秒
- 获取当前时间的年、月、日、时、分、秒
- linux C++ 获取当前时间,以标准时间“年-月-日 时:分:秒”的形式输出
- 某年某月某日的人民日报!
- 某日某时的一点反思
- 输入年月日时分秒,要求输出该年月日时分秒的下一秒,如果输出2004年12月31日59分59秒,输出2005年1月1日0时0分0秒
- linux C++ 获取当前时间,以标准时间“年-月-日 时:分:秒”的形式输出,且秒后边跟小数精确到毫秒
- 求某年某月某日是该月的第几天
- 汇编语言:以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。
- UIDatePicke获取当前时间的年、月、日、时、分、秒, //显示成中文格式的
- 一个很好很强大的js时间控件:显示年,月,日,时,分,秒
- 一个很好很强大的js时间控件:显示年,月,日,时,分,秒
- iOS-获取当前时间的年、月、日、时、分、秒
- java 得到某个时间的年、月、日、时、分、秒
- iOS-获取当前时间的年、月、日、时、分、秒
- ios-通过NSCalendar来获取当前时间的年、月、日、时、分、秒
- Linux Tomcat日志查看实用命令
- spring mvc错误收集
- Mapped Statements collection does not contain value for com.china.bill.java.dao.UserDao.addUser
- c++实现单例模式--单线程环境
- 学习Javascript闭包(Closure)阮一峰
- 输出某年某月某日某时某分某秒的下一秒的时间:年、月、时、分、秒
- 支付宝支付配置
- findChessboardCorners
- Ada and Cycle
- JPA-4 映射关联关系
- AEZ学习笔记(2):关键帧动画与技法
- 动态规划入门(二)
- 自己实现Spring IoC容器(二)读取配置文件
- react-native 在android封装原生listView