Java代程序,键盘输入日期,输出是一年中的第几天。算出的天数会比实际的多出两天。求解决?
case 2:{}代码块中,语法有问题。当月份大于2时,会进入case 2:,但是case 2内的if else条件不是判断闰年的。所以你的case 2改变days=29或者28不会被执行,切days=31(case 1语句赋的值31)。
根据你的代码思路修改的:
c语言如何比较出生年月?
要比较C语言中的出生年月,可以使用结构体来存储日期信息,包括年、月和日。
然后,可以使用比较运算符(如<、>、==)来比较两个日期的年份和月份。
首先,比较年份,如果年份相同,则比较月份。如果两个日期的年份和月份都相同,则可以认为它们是相等的。
可以编写一个函数来实现这个比较逻辑,并返回比较结果。这样,你就可以比较两个出生年月的日期了。
可参考以下示例程序:
#include<stdio.h>
struct s{
int year;
int mon;
int day;
}javaman,cpcs;
int main()
{
int i,n;
printf("输入比较的组数:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("输入javaman和cpcs出生年,月,日:\n");
scanf("%d,%d,%d",&javaman.year,&javaman.mon,&javaman.day);
scanf("%d,%d,%d",&cpcs.year,&cpcs.mon,&javaman.day);
//比较大小
if(javaman.year<cpcs.year)
printf("javaman \n");
else if(javaman.year>cpcs.year)
printf("cpcs\n");
else{
if(javaman.mon<cpcs.mon)
printf("javaman\n");
else if(javaman.mon>cpcs.mon)
printf("cpcs");
else
{
if(javaman.day<cpcs.day)
printf("javaman\n");
else if(javaman.day>cpcs.day)
printf("cpcs\n");
else
printf("same\n");
}
}
}
return 0;
}
如何插入在Orcle数据库里的插入日期类型?
你好,Oracle中日期类型是date类型,sql语句中是区分类型的,也就是说虽然形势上'2012-12-21'是一个日期,但是它在Oracle中却是实实在在的字符串类型,所以不能插入到date类型的字段里,解决方法就是将日期字符串转换成date类型就可以了,这里可以使用to_date函数,如:insert into tablename (date_column) values(to_date('2012-12-21','yyyy-mm-dd') )。
to_date里需要两个参数,第一个是日期字符串,可以在程序中拼好(Java或者其他高级程序语言想实现这一点都是很容易的);
第二个参数是日期的格式,'yyyy-mm-dd'的意思是想要4位的年份,两位的月份(比方说如果为2,则保存为:02)和两位的日期(这个意义和月份相同,假如为4号,则保存为04)。
如果想要其他的格式或者想插入具体的时分秒时间都是可以的,比如:to_date('2012-12-21 12:12:12','yyyy-mm-dd hh24:mi:ss')后边的24代表使用24时制时间。够明白吧!

