比如说,2013-11-7 到2013-11-30 这段日期内, 周一,周三,周日分别为10,11,13,17,18,20,24,25,27 日 , 如何才能通过程序取出来呢。
最好是通过sql 语句直接取出来,如果不能java 代码也行。
数据库中这么存的,start_date(2013-7-11) end_date(2013-11-30) days(1,3,7)
最好是通过sql 语句直接取出来,如果不能java 代码也行。
数据库中这么存的,start_date(2013-7-11) end_date(2013-11-30) days(1,3,7)
解决方案 »
- hibernate怎么执行SQL的insert操作(不是HQL哦,是SQL语句)
- 国外国内网站
- request.getRequestDispatcher页面跳转问题,真心求教 ,谢谢在线等
- String类型的时间插入MYsql字段为DateTime不报错???
- xp,sp3操作系统,IE7下,JSP页面偶尔显示不出来,但是源码加载完毕,恳请牛人帮忙
- 关于表单的验证问题
- 空指针操作问题!!!
- 编译servlet遇到的问题。
- 如何把double型的数值 ,造型成Double类,我要把它放入LinkedList.谢谢
- include file的问题
- jsp导出excel如何判断导出 结束?
- 转换问题
public static void main(String[] args) {
final String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五",
"星期六" }; String s = "2013-11-7"; SimpleDateFormat sdfInput = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance();
Date date = new Date(); try {
date = sdfInput.parse(s);
} catch (ParseException e) {
e.printStackTrace();
} calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
if (dayOfWeek < 0)
dayOfWeek = 0;
System.out.println(dayNames[dayOfWeek]);
}
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test {
public static void main(String[] args) {
final String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五",
"星期六" }; String begin = "2013-11-01";
String end = "2013-11-10";
SimpleDateFormat sdfInput = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
Date dateb = new Date();
Date datee = new Date();
try {
dateb = sdfInput.parse(begin);
datee = sdfInput.parse(end);
} catch (ParseException e) {
e.printStackTrace();
}
long nowTime = dateb.getTime();
Date datenow = new Date();
datenow.setTime(nowTime);
Calendar calendar = Calendar.getInstance();
while(nowTime>=dateb.getTime()&&nowTime<=datee.getTime())
{
calendar.setTime(datenow);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
if (dayOfWeek < 0)
dayOfWeek = 0;
System.out.println(sdfInput.format(datenow));
System.out.println(dayNames[dayOfWeek]);
calendar.add(calendar.DATE,1);
datenow = calendar.getTime();
nowTime = datenow.getTime();
}
}
}
import java.text.SimpleDateFormat;
import java.util.Calendar;/**
* 以2012年12月18日为起点,
* 取出以后三个月中 周一,周三,周五的日期,
*
*/
public class Test
{
public static void main(String[] args)
{
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2012);
cal.set(Calendar.MONTH, Calendar.DECEMBER);
cal.set(Calendar.DAY_OF_MONTH, 18);
Calendar c = (Calendar) cal.clone();
c.add(Calendar.MONTH, 3);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
while(!c.before(cal))
{
int day = cal.get(Calendar.DAY_OF_WEEK) ;
if(day == Calendar.MONDAY || day == Calendar.WEDNESDAY || day == Calendar.FRIDAY)
System.out.println(df.format(cal.getTime()));
cal.add(Calendar.DATE, 1);
}
}
}
找到这么一段代码 不过没看明白是怎么实现的。原帖,http://bbs.csdn.net/topics/390320166
from (select (select to_date(t.start_date) from TEST_TABLE t where t.id = 2 ) + rownum - 1 as tdate
from all_objects
where rownum <= (select to_date(t.end_date) from TEST_TABLE t where t.id = 2 ) -
(select to_date(t.start_date) from TEST_TABLE t where t.id = 2 ) + 1) tt where to_char(tt.tdate, 'day') in ('星期一','星期二')