请问怎么判断一个char是不是合适的日期,例如:20030908等等,谢谢

lovedudd 2003-10-18 03:10:29
请问怎么判断一个char是不是合适的日期,例如:20030908等等,谢谢
...全文
76 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gambolgs 2003-10-18
  • 打赏
  • 举报
回复
#include <string.h>
#include <stdlib.h>

...//只写关键部分程序

char data[] = "20030908"
char year[10], month[10], day[10];
int nYear, nMonth, nDay;
int flag_bigyear;
int valid;
strcpy(year, date);
year[4] = 0;//取前四位为年
nYear = atoi(year);
strcpy(month, date + 4);
month[2] = 0;//5-7位为月
nMonth = atoi(month);
strcpy(day, date + 6);
nDay = atoi(day);

if (nMonth > 12)
return FALSE;

int UpperBound[12] = {31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

//判润年,
if (nYear % 4 == 0) {
if (nYear % 100 == 0) { //整百年的判法记不清了,好像是整除400才算吧
if (nYear % 400 == 0)
flag_bigyear = 1;
else
flag_bigyear = 0;
}
else
flag_bigyear = 1;
}
else
flag_bigyear = 0;

upper_bound[1] = 28 + flag_bigyear; // 二月天数

if (nDay > upper_bound[nMonth - 1])
return FALSE;
else
return TRUE;
lovedudd 2003-10-18
  • 打赏
  • 举报
回复
有没有写好的例子,我这里比较着急,谢谢
晨星 2003-10-18
  • 打赏
  • 举报
回复
自己编函数判断。
这个函数写起来很有意思的。

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧