各位请教一个简单的日期比较的问题!!请进来看看,多谢,定重谢,江湖救急!!

kangaroo 2001-11-05 12:03:58
整个要实现的功能是这样:
我要将一个日期之间的日期 和数据库里的记录(记录里面有日期字段)进行比较,如果这条记录的日期为星期天,则不输出,否则就输出,比如说我要查询从2001-01-02 到2001-02-01 的记录,然后输出员工缺写记录的时间,比如说JACKY的记录只有两条,一条是2001-01-02,还有一条是2001-01-25, 只有这两条,那么我要实现的将 JACKY的没有记录的日期输出来,比如:2001-01-01,2001-01-03,2001-01-04........,2001-01-24,2001-01-26..........
其它的职员也是这样!!!
多谢,多谢!!
...全文
158 点赞 收藏 22
写回复
22 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
kangaroo 2001-11-12
simoncn(早睡早起精神好) ???
帮帮忙?我实在是没有办法了,多谢!!!!!
回复
kangaroo 2001-11-08
????????????????
回复
simoncn 2001-11-07
我知道,但是还是有很多重复输出!!!
--Like what?
你自己有没有试过,你自己试一下就知道了!!
--I didn't test the code, but it should be enough to let you get the idea how to use Calendar to skip "Sunday". I didn't get your salary, you should do the job to incorporate the code.
回复
kangaroo 2001-11-07
我知道,但是还是有很多重复输出!!!你自己有没有试过,你自己试一下就知道了!!
回复
simoncn 2001-11-07
而并没有进行比较!!!
--我后面的代码是干什么的?
while (rs.next()) {
Date work = rs.getDate("date");
temp.setTime(date);
if (temp.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)
continue;
int offset = temp.get(Calendar.DATE) - start.get(Calendar.DATE);
if (offset > size)
continue;
else
flag[offset]=true;
}
for (int i=0; i<flag.length; i++)
{
if (!flag[i]) {
start.add(Calendar.DATE, i);
System.out.println(start.getTime());
start.add(Calendar.DATE, -i);
}
}
回复
kangaroo 2001-11-07
simoncn(早睡早起精神好),但是这样还是不是我想要的结果,它是把之间的日期输出来了
而并没有进行比较!!!
回复
simoncn 2001-11-07
为什么任何两个日期相减都是30天!!!
麻烦解决一下,帮帮忙!!!
--
Calendar cal1 = Calendar.getInstance();
cal1.set(2001, 10, 1, 0, 0, 0);
Calendar cal2 = Calendar.getInstance();
cal2.set(2001, 10, 28, 0, 0, 0);
System.out.println(cal2.get(Calendar.DATE)-cal1.get(Calendar.DATE));
--output is 27
回复
kangaroo 2001-11-07
????????????????
回复
kangaroo 2001-11-07
我的QQ是: 45573739
回复
kangaroo 2001-11-07
simoncn(Simon(早睡早起精神好)),多谢你,你给出的代码还是不是我想要的结果

为什么任何两个日期相减都是30天!!!
麻烦解决一下,帮帮忙!!!
回复
simoncn 2001-11-07
Calendar start = Calendar.getInstance();
Calendar end = Calendar.getInstance();
start.set(2001, 0, 1, 0, 0, 0);
end.set(2001, 0, 31, 0, 0, 0);
int size = end.get(Calendar.DATE) - start.get(Calendar.DATE);
boolean[] flag=new boolean[size];
Calendar temp = Calendar.getInstance();
//get your resultset
while (rs.next()) {
Date work = rs.getDate("date");
temp.setTime(date);
if (temp.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)
continue;
int offset = temp.get(Calendar.DATE) - start.get(Calendar.DATE);
if (offset > size)
continue;
else
flag[offset]=true;
}
for (int i=0; i<flag.length; i++)
{
if (!flag[i]) {
start.add(Calendar.DATE, i);
System.out.println(start.getTime());
start.add(Calendar.DATE, -i);
}
}
回复
kangaroo 2001-11-07
你这话什么意思,大家都是程序员,帮帮忙,不可以吗?
四海之内皆兄弟啊!!
回复
zxwcq 2001-11-06
用JAVA的Calendar包
回复
kangaroo 2001-11-06
: chinaillboy(浪漫吉他) 麻烦你帮我给出原代码,好吗?多谢,多谢!!!
回复
kangaroo 2001-11-05
???
回复
skyyoung 2001-11-05
查找JAVA版和JSP版,有日期的解决方法。
回复
kangaroo 2001-11-05
??????
回复
kangaroo 2001-11-05
???????????
回复
kangaroo 2001-11-05
chinaillboy(浪漫吉他),

你能不能给我全部程序,拜托!!!
回复
chinaillboy 2001-11-05
把日期存入数组(里面的元素就如2001-01-01,2001-01-02一样),并且该数组是动态生成的(可根据你的需要来查某年某月的统计)。取出记录,如果在数组里就不输出,否则输出数组里的内容。你看行不行
回复
加载更多回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-11-05 12:03
社区公告
暂无公告