需求:求近一年的每周的周一,周日的日期格式为yyyy-MM-dd.1:近一年为系统当前日期一直到去年的当前日期:例如,当前日期为2013-08-28,则需要从2012-08-28所在周的周一开始算起,一直到2013-08-28所在周,其中需要每周的周一和周日日期。
2:求某年每个月的第一天和最后一天(共12个月)。
2:求某年每个月的第一天和最后一天(共12个月)。
解决方案 »
- applet调用dll中的接口出错
- 数组的问题,这个程序麻烦各位帮我看以下,看了半天都不知道哪里有问题...
- applet怎样连接本地网页(没上网)
- www.netyi.net重新改版,欢迎所有的开发者到这里分享您的经验,下载您需要的资料。
- JTree的选中问题,请进来看看啦
- 一个小问题
- 求java操作excel的jxl.jar
- 初学者求助:如何做一个只可以输入日期的文本框
- UltraEdit和Jcreator编程时回车后大刮号“{ }”呈阶梯状,怎么样设置能在回车后“{ }”直接对齐?
- 还是利用jdbc.odbc连接access数据库的问题,奇怪,请教大家!!!
- 多线程中+=与+的问题
- 题新手求问
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class Test_11 { private static final SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd");
/**
* 测试用例
*/
public static void main(String[] args) {
List<String> days1 = findDays_1(new Date());
for(String day : days1){
System.out.println(day);
}
System.out.println("-------- 我是分割线 -----------");
List<String> days2 = findDays_2(2013);
for(String day : days2){
System.out.println(day);
}
} public static List<String> findDays_1(Date day){
ArrayList<String> days = new ArrayList<String>();
Calendar cal = Calendar.getInstance();
cal.setTime(day);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
cal.add(Calendar.DAY_OF_MONTH, 1);
Date end = cal.getTime();
cal.setTime(day);
cal.add(Calendar.YEAR, -1);
Date cur = null;
do{
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
// Date monday = cal.getTime();
days.add(SDF.format(cal.getTime()));
cal.add(Calendar.DAY_OF_MONTH, 6);
cur = cal.getTime();
days.add(SDF.format(cur));
}while(cur.before(end));
return days;
}
public static List<String> findDays_2(int year){
ArrayList<String> days = new ArrayList<String>();
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, 0);
cal.set(Calendar.DAY_OF_MONTH, 1);
for(int i=0;i<12;i++){
days.add(SDF.format(cal.getTime()));
cal.add(Calendar.MONTH, 1);
cal.add(Calendar.DAY_OF_MONTH, -1);
days.add(SDF.format(cal.getTime()));
cal.add(Calendar.DAY_OF_MONTH, 1);
}
return days;
}
}