
正文
java用代码实现本周食 java获取本周日期
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java中如何计算本周开始和结束的日期
思路:首先是获取该月的实际天数,然后从1号遍历直至该月最后一天,利用Calendar类找出该日是一周中的第几天,
(1)若该日是周日,则视为一周结束,并用该日期减去6找到该周的开始日期,若相减结果小于等于1,则说明该周起始日期应该是本月1号。
(1)若该日不是周日,且是该月最后一天,则应该在上面计算的基础上再加一周,视月末为该周的结束日,该周起始日期应为改日期减去改日
在一周中的位置加2,例如:2013-09-30号是周一,则视为9月份中的第六周,开始日期是30-2+2
提示:Calendar 类中视周日为一周的开始,值是1
示例代码:
[java] view plain copy
public static void printfWeeks(String date) throws Exception {
// String date = "2013-09";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
Date date1 = dateFormat.parse(date);
Calendar calendar = new GregorianCalendar();
calendar.setTime(date1);
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("days:" + days);
int count = 0;
for (int i = 1; i = days; i++) {
DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
Date date2 = dateFormat1.parse(date + "-" + i);
calendar.clear();
calendar.setTime(date2);
int k = new Integer(calendar.get(Calendar.DAY_OF_WEEK));
if (k == 1) {// 若当天是周日
count++;
System.out.println("-----------------------------------");
System.out.println("第" + count + "周");
if (i - 6 = 1) {
System.out.println("本周开始日期:" + date + "-" + 1);
} else {
System.out.println("本周开始日期:" + date + "-" + (i - 6));
}
System.out.println("本周结束日期:" + date + "-" + i);
System.out.println("-----------------------------------");
}
if (k != 1 i == days) {// 若是本月最好一天,且不是周日
count++;
System.out.println("-----------------------------------");
System.out.println("第" + count + "周");
System.out.println("本周开始日期:" + date + "-" + (i - k + 2));
System.out.println("本周结束日期:" + date + "-" + i);
System.out.println("-----------------------------------");
}
}
}
测试代码:
[java] view plain copy
public static void main(String[] args) throws Exception {
String s = "2013-";
for (int i = 1; i = 12; i++) {
System.out.println("*******************************************");
System.out.println("月份:" + i);
printfWeeks(s + i);
System.out.println("*******************************************");
}
// printfWeeks(s + 2);
}
相关问答
Q1: 如何用Java实现“本周是第X周”
“alert("第" + (Math.floor(w) + 1)+ "周");”也可换成“alert("第" + (Math.ceil(w) + 1)+ "周");”。
Q2: 用Java怎样实现课表代码?有周次
课表数据时存储于数据库中java用代码实现本周食的吗java用代码实现本周食?
/**
* 获取一周的时间集合(从周一到周日)
* @param weekNum ;-1:上周;0java用代码实现本周食:本周;1java用代码实现本周食:下周
*/
public static ListDate getWeekDates(int weekNum){
ListDate list = new ArrayListDate();
Calendar cal = Calendar.getInstance();
// 获取指定下几个星期
cal.add(Calendar.DAY_OF_WEEK, weekNum * 7);
cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
list.add(cal.getTime());
for(int i = 0;i 6;i++){
cal.add(Calendar.DAY_OF_WEEK, 1);
list.add(cal.getTime());
}
return list;
}
这个是获取这一周时间的代码 ,之后用下面的代码获取周一到周日的日期
ListDate ds = DateUtil.getNowWeekDates(weekNum);
ds.get(0)//周一
ds.get(6)//周日
用这两个时间到数据库中进行范围查询,之后的你应该明白了吧
关于java用代码实现本周食和java获取本周日期的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







