用c语言比较当前系统日期与我输入的日期大小怎么写代码?

用c语言比较当前系统日期与我输入的日期大小怎么写代码?,第1张

#include <time.h>

#include <stdio.h>

void main(void)

{

time_t timep

struct tm *p

int in_time[3]

int now_time[3]

int i

printf("输入年-月-日: ")

scanf("%d-%d-%d", &in_time[0], &in_time[1], &in_time[2])

time (&timep)

p=gmtime(&timep)

now_time[0]=1900+p->tm_year

now_time[1]=1+p->tm_mon

now_time[2]=p->tm_mday

for(i=0i<3i++)

if(in_time[i]>now_time[i]) 

{

printf("你输入的日期大\n")

break

}

else if(in_time[i]<now_time[i]) 

{

printf("你输入的日期小\n")

break

}

else 

continue

if(i==3)

printf("两个日期一样大\n")

// printf("%d\n",p->tm_sec) /*获取当前秒*/

// printf("%d\n",p->tm_min) /*获取当前分*/

// printf("%d\n",8+p->tm_hour)/*获取当前时,这里获取西方的时间,刚好相差八个小时*/

// printf("%d\n",p->tm_mday)/*获取当前月份日数,范围是1-31*/

// printf("%d\n",1+p->tm_mon)/*获取当前月份,范围是0-11,所以要加1*/

// printf("%d\n",1900+p->tm_year)/*获取当前年份,从1900开始,所以要加1900*/

// printf("%d\n",p->tm_yday) /*从今年1月1日算起至今的天数,范围为0-365*/

}

select * from table where substr(time,'YYYY-MM-DD') >'2010-10-13'

后面的时间你在程序里面就将其转换为这种格式,

DateTime[] date=null这个地方有问题,

你还没有给他分配内存空间,你就给他赋值,这肯定会出错的,

这个地方你可以给date数组预定义个大小

DateTime[] date = new DateTime[100]

这种写法不好,如果你的数据库的数据数量不确定,超过这个预定义的大小就会报错。

如果你就相求最大和最小日期,你可以改下sql文就可以了:

求最大

string sql = "select Max(date) from money "

求最小

string sql = "select Min(date) from money "


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10080859.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存