JAVA 如何取得某月中的某一周的第一天和最后一天的日期。 JAVA 如何取得某月中的某一周的第一天和最后一天的日期。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /** * 根据输入的年月周数来取该周首天 * @param year 年份(>0) * @param month 月份(1-12) * @param week 当月周数(1-5) * @return 该周第一天(周日) */ public static void getFirstDayByMonthWeek(int year,int month,int week){ if (year <= 0){ System.out.println("年份要大于0!"); return; } if (month < 1 || month > 12){ System.out.println("月份要[1-12]!"); return; } if (week < 1 || week > 5){ System.out.println("周要[1-5]!"); return; } DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); c.set(Calendar.MONTH, month - 1); c.set(Calendar.WEEK_OF_MONTH,week); //取得当月最后一天 int lastday = getTheLastDay(year,month); if (lastday <= (week-1)*7){ System.out.println("该月没有第[" + week + "]周!"); return; } //取得该周第一天的weekday(周日=1) int firstDayofweek = c.get(Calendar.DAY_OF_WEEK_IN_MONTH); int lastDayofweek = c.get(Calendar.DAY_OF_WEEK_IN_MONTH) + 6; //该周第一天日期 Calendar c1 = Calendar.getInstance(); c1.set(Calendar.YEAR, year); c1.set(Calendar.MONTH, month - 1); c1.set(Calendar.WEEK_OF_MONTH,week); c1.set(Calendar.DAY_OF_WEEK, firstDayofweek); Date d1 = new Date(c1.getTimeInMillis()); System.out.println("该周第一天是[" + df.format(d1) + "]"); //该周最后一天日期 Calendar c2 = Calendar.getInstance(); c2.set(Calendar.YEAR, year); c2.set(Calendar.MONTH, month - 1); c2.set(Calendar.WEEK_OF_MONTH,week); c2.set(Calendar.DAY_OF_WEEK, lastDayofweek); Date d2 = new Date(c2.getTimeInMillis()); System.out.println("该周最后一天是[" + df.format(d2) + "]"); }测试数据:getFirstDayByMonthWeek(2007,4,5);输出:该周第一天是[2007-04-29]该周最后一天是[2007-05-05] 全部在java.uitl.Calendar类中有实现,好好参照API文档就能实现。我奇怪,坛子里很多做java开发的难道不看API文档? 参考http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/util/GregorianCalendar.html 中间两句写错了:改成如下://取得该周第一天的weekday(周日=1)int firstDayofweek = c.getFirstDayOfWeek();int lastDayofweek = firstDayofweek + 6;多谢 shan1119(大天使,卐~解!) ( ) 信誉:101 Blog 加为好友 2007-04-13 16:12:54 得分: 0 指出,我理解错你的意思了^_^ 如果要取得一个月的第一天的0点的时刻,取得的参数与datetime.now一样,如何做到啊。 如何在JDK连接mysql数据库 一个关于MYSQL的奇怪问题 怎么学习Struts spring 配置事务的问题 自定义标签重复数据问题 关于BEAN的放置问题!!! 如何能够防止别人在参数后面加上' or '1'='1这一些类似的可以音响SQL语句是查询的字符 JDK 的详细下载地址,希望能快点给出 jsp include问题 在线考试系统,定时关闭窗口的问题! 如何使用jsp(java)来实现某个文件夹的系统空间占用量!! 有人用过万网JSP空间吗,上传有问题?
* 根据输入的年月周数来取该周首天
* @param year 年份(>0)
* @param month 月份(1-12)
* @param week 当月周数(1-5)
* @return 该周第一天(周日)
*/
public static void getFirstDayByMonthWeek(int year,int month,int week){
if (year <= 0){
System.out.println("年份要大于0!");
return;
}
if (month < 1 || month > 12){
System.out.println("月份要[1-12]!");
return;
}
if (week < 1 || week > 5){
System.out.println("周要[1-5]!");
return;
}
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month - 1);
c.set(Calendar.WEEK_OF_MONTH,week);
//取得当月最后一天
int lastday = getTheLastDay(year,month);
if (lastday <= (week-1)*7){
System.out.println("该月没有第[" + week + "]周!");
return;
}
//取得该周第一天的weekday(周日=1)
int firstDayofweek = c.get(Calendar.DAY_OF_WEEK_IN_MONTH);
int lastDayofweek = c.get(Calendar.DAY_OF_WEEK_IN_MONTH) + 6;
//该周第一天日期
Calendar c1 = Calendar.getInstance();
c1.set(Calendar.YEAR, year);
c1.set(Calendar.MONTH, month - 1);
c1.set(Calendar.WEEK_OF_MONTH,week);
c1.set(Calendar.DAY_OF_WEEK, firstDayofweek);
Date d1 = new Date(c1.getTimeInMillis());
System.out.println("该周第一天是[" + df.format(d1) + "]");
//该周最后一天日期
Calendar c2 = Calendar.getInstance();
c2.set(Calendar.YEAR, year);
c2.set(Calendar.MONTH, month - 1);
c2.set(Calendar.WEEK_OF_MONTH,week);
c2.set(Calendar.DAY_OF_WEEK, lastDayofweek);
Date d2 = new Date(c2.getTimeInMillis());
System.out.println("该周最后一天是[" + df.format(d2) + "]");
}
测试数据:
getFirstDayByMonthWeek(2007,4,5);
输出:
该周第一天是[2007-04-29]
该周最后一天是[2007-05-05]
//取得该周第一天的weekday(周日=1)
int firstDayofweek = c.getFirstDayOfWeek();
int lastDayofweek = firstDayofweek + 6;多谢 shan1119(大天使,卐~解!) ( ) 信誉:101 Blog 加为好友 2007-04-13 16:12:54 得分: 0 指出,我理解错你的意思了^_^