java.util.Calendar可以知道星期几。
解决方案 »
- 连接池报错
- 请问大家关于tomcat的问题
- 服务器定时自动通过表单form发送数据到其它网站,怎么实现?
- 加群:11588934。在用servlet,jdbc,struct,eclipse....开发您的项目吗,有需要解决的问题吗,进来讨论吧。。。。
- 关于Applet的基础的问题!!!
- 奇怪!为什么会显示成这样?
- 我想通过培训学习j2ee,是参加专门的培训机构好,还是参加软件公司开设的培训机构好?
- log4j配置中,怎样做到把应用程序(业务逻辑与表示控制层)与数据库(DAO)层产生的日志分离呢
- 紧急求救:用jspSmartUpload进行文件的上传,如何配置resin?
- 000 关于eclipse中文版
- JDBC-ODBC Bridge连接mysql的问题~
- 关于在实现集群中的全局变量的问题
但是我在隔月和隔年的情况就不知道怎么解决
是否有哪位大侠给一个具体的实例啊?
但是还是想知道使用java.util.Calendar怎么来实现这个功能
另外在java中怎么样能够创建这个oracle函数呢?是否是调用oracle过程的这个方法?
期待大侠的解答!
然后需要知道起始时间是星期几(可以用java.util.Calendar.get(java.util.Calendar.DAY_OF_WEEK )得到),转换为int day(1为星期一,7为星期日) 。
然后由下面的函数求出非周末的天数
int calc(int n,int day)
{
int m = n / day ;
int r = n % day ;
if (day+r < 6)
return m*5 ;
if (day+r = 6)
return m*5 + 1;
return m*5 + 2;
}
2。上面得出来的天数除以7,然后得出始末两天的星期数,得出中间的周六日的天数
3。相减
{
int m = n / 7 ;
int r = n % 7 ;
if (day+r < 6)
return m*5 ;
if (day+r = 6)
return m*5 + 1;
return m*5 + 2;
}
不过仅仅“天数除以7,然后得出始末两天的星期数,得出中间的周六日的天数”还不够吧,余下来的零头里面也可能有周六日。 见上面的算法
其实我已经写了一部分,但是却不知道再怎么处理隔月的情况。请大家看看
public static int getDaysBetween (java.util.Calendar d1, java.util.Calendar d2) {
if (d1.after(d2)) { // swap dates so that d1 is start and d2 is end
java.util.Calendar swap = d1;
d1 = d2;
d2 = swap;
}
int days = d2.get(java.util.Calendar.DAY_OF_YEAR) -
d1.get(java.util.Calendar.DAY_OF_YEAR);
int y2 = d2.get(java.util.Calendar.YEAR);
if (d1.get(java.util.Calendar.YEAR) != y2) {
d1 = (java.util.Calendar) d1.clone();
do {
days += d1.getActualMaximum(java.util.Calendar.DAY_OF_YEAR);
d1.add(java.util.Calendar.YEAR, 1);
} while (d1.get(java.util.Calendar.YEAR) != y2);
}
return days;
}