博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断当前时间的下一秒是多少
阅读量:4229 次
发布时间:2019-05-26

本文共 2026 字,大约阅读时间需要 6 分钟。

写的比较粗陋,编程能力还需要多多磨练啊

struct SDate{	int Leapday[12]; //闰年的每月天数//		int NoLeapDay[12]; //非闰年的每月天数	int year;	int month;	int day;	int hour; 	int minute;	int second;} sDate = { 31,29,31,30,31,30,31,31,30,31,30,31 };bool isLeap(int year) //判断是否闰年{	if (year%4==0 && year%100 || year%400==0)		return true;	else return false;}void getNextSecond(SDate *in, SDate &out) //获取当前秒的下一秒{	if (!in) return;	memcpy(&out, in, sizeof(SDate));	if (in->second==59) 	{		out.second=0;		if (in->minute==59) 		{			out.minute=0;			if (in->hour==23) 			{				out.hour=0;				if (in->day==in->Leapday[in->month-1]) 				{					out.day=1;					if (in->month==12) 					{						out.month=1;						out.year+=1;					}					else out.month+=1;				}				else out.day+=1;			}			else out.hour += 1;		}		else out.minute +=1;	}	else out.second += 1;}bool fillData(SDate *in){	if (in==NULL) return false;	printf("请依次输入:年 月 日 时 分 秒");	while (1)	{		puts("年: ");		scanf("%d", &in->year);		if (in->year<=0) {			puts("年必须大于0,请重新输入年份:");			continue;		}		break;	}	while (1)	{		printf("月: ");		scanf("%d", &in->month);		if (in->month<1 || in->month >12) {			puts("月范围是<1-12>,请重新输入月份:");			continue;		}		break;	}	bool leap;	leap = isLeap(in->year);	if (leap)		;	else in->Leapday[1]=28; 	while (1)	{		printf("日: ");		scanf("%d", &in->day);		if (in->day < 0 || in->day > in->Leapday[in->month-1]) {			puts("日子大小不对,请重新输入日:");			continue;		}		break;	}	while (1)	{		puts("时: ");		scanf("%d", &in->hour);		if (in->hour <0 || in->hour > 24) {			puts("小时数不对,请重新输入:");			continue;		}		break;	}	while (1)	{		printf("分: ");		scanf("%d", &in->minute);		if (in->hour <0 || in->minute > 60) {			puts("分钟数不对,请重新输入:");			continue;		}		break;	}	while (1)	{		printf("秒: ");		scanf("%d", &in->second);		if (in->second <0 || in->second > 60) {			puts("秒数不对,请重新输入:");			continue;		}		break;	}}void main(){	SDate outDate;	fillData(&sDate);	getNextSecond(&sDate, outDate);	printf("下一秒为:%d 年 %d 月 %d 日 %d 时 %d 分 %d 秒\n", \		outDate.year, outDate.month, outDate.day, outDate.hour, outDate.minute, outDate.second);}

你可能感兴趣的文章
使用FMDB事务批量更新数据库
查看>>
华为机试:取近视值
查看>>
T-SQL: 用26个字母表示10000条不重复的编号
查看>>
twemproxy 简介
查看>>
基于Spring的Web缓存
查看>>
nginx access_log 完全关闭
查看>>
2017-2018-2 20179225 《密码与安全新技术专题》 第5周作业
查看>>
Zend 的嵌套模板的方法
查看>>
PHP消息队列处理框架php-resque
查看>>
开源IOT平台
查看>>
navigator.geolocation详解
查看>>
js的使用简单介绍
查看>>
项目中遇到的小问题
查看>>
Andriod学习笔记5:通过NDK在C++中实现日志输出
查看>>
注册审核
查看>>
人生感悟
查看>>
SharePoint2013开启站点邮箱2
查看>>
Spring boot启动原理
查看>>
C# Array类的浅复制Clone()与Copy()的差别
查看>>
HDU 5188 背包
查看>>