<pre name="code" class="plain">joda-time-2.4.jar下载地址:
链接:http://pan.baidu.com/s/1eRnGLO2 密码:ff7h
import java.util.List;
import java.util.Map;
import org.joda.time.LocalDateTime;
/**
* 获取指定几个星期的周一、周日的工具类(可用于按周查询数据)
* @author fcy
*
*/
public class WeekDateUtil {
public static List<Map<String, LocalDateTime>> getDate(Integer num){
List<Map<String, LocalDateTime>> dateList = CollectionUtil.newListInstance();
LocalDateTime mon = null;//本周一日期
LocalDateTime sun = null;//本周日日期
//当前时间
LocalDateTime dateTime = new LocalDateTime();
int week = dateTime.getDayOfWeek(); //获取今天是星期几
//判断今天是周几,计算出周一和周日的日期
switch (week) {
case 1:
mon = dateTime;
sun = dateTime.plusDays(6);
break;
case 2:
mon = dateTime.minusDays(1);
sun = dateTime.plusDays(5);
break;
case 3:
mon = dateTime.minusDays(2);
sun = dateTime.plusDays(4);
break;
case 4:
mon = dateTime.minusDays(3);
sun = dateTime.plusDays(3);
break;
case 5:
mon = dateTime.minusDays(4);
sun = dateTime.plusDays(2);
break;
case 6:
mon = dateTime.minusDays(5);
sun = dateTime.plusDays(1);
break;
case 7:
mon = dateTime.minusDays(6);
sun = dateTime;
break;
default:
break;
}
int date = 0;
//根据获取指定的前几周的周一和周日的日期(包括本周)
for (int i = 0; i < num; i++) {
Map<String, LocalDateTime> map = CollectionUtil.newMapInstance();
map.put("Mon",mon.minusDays(date));
map.put("Sun",sun.minusDays(date));
dateList.add(map);
date += 7;
}
for (int i = 0; i < dateList.size(); i++) {
System.out.println("周一:" + dateList.get(i).get("Mon").toString("yyyy-MM-dd"));
System.out.println("周日:" + dateList.get(i).get("Sun").toString("yyyy-MM-dd"));
}
return dateList;
}
public static void main(String[] args) {
getDate(3);
}
}
<pre name="code" class="java">
import java.util.ArrayList;
import java.util.HashMap;
/**
* 集合工厂类
* @author fcy
*
*/
public class CollectionUtil {
public static <K,V> HashMap<K, V> newMapInstance(){
return new HashMap<K, V>();
}
public static <T> ArrayList<T> newListInstance(){
return new ArrayList<T>();
}
}