java 实现当前时间的前几周和当前时间的前几个月
2011-06-29 11:42
489 查看
这个方法就是统计前几周或前几月:durationType: 是周统计,还是月统计 ,durationNumber :当前日期的前几个。比如说3就是
19-06-2011--25-06-2011,12-06-2011--18-06-2011,05-06-2011--11-06-2011 是整个周
同理月也是01-05-2011-31-05-2011 等
public static List<String> getDateStringList(final Calendar cal, final String durationType, final int durationNumber) {
final List<String> dateList = new ArrayList<String>();
final SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
if ("WEEK".endsWith(durationType) && durationNumber > 0) {
final int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
cal.add(Calendar.DATE, -dayOfWeek);
final String dateStrEndFirstWeek = sdf.format(cal.getTime());
cal.add(Calendar.DATE, -6);
final String dateStrStartFirstWeek = sdf.format(cal.getTime());
final String dateStrFristWeek = dateStrStartFirstWeek + " - " + dateStrEndFirstWeek;
dateList.add(dateStrFristWeek);
for (int i = 0; i < durationNumber - 1; i++) {
cal.add(Calendar.DATE, -1);
final String dateStrEnd = sdf.format(cal.getTime());
cal.add(Calendar.DATE, -6);
final String dateStrStart = sdf.format(cal.getTime());
final String dateStr = dateStrStart + " - " + dateStrEnd;
dateList.add(dateStr);
}
return dateList;
} else if ("MONTH".endsWith(durationType) && durationNumber > 0) {
for (int i = 0; i < durationNumber; i++) {
cal.set(Calendar.DATE, 1);
cal.add(Calendar.MONTH, -1);
final String dateStrStart = sdf.format(cal.getTime());
cal.roll(Calendar.DATE, -1);
final String dateStrEnd = sdf.format(cal.getTime());
final String dateStr = dateStrStart + " - " + dateStrEnd;
dateList.add(dateStr);
}
return dateList;
}
return null;
}
19-06-2011--25-06-2011,12-06-2011--18-06-2011,05-06-2011--11-06-2011 是整个周
同理月也是01-05-2011-31-05-2011 等
public static List<String> getDateStringList(final Calendar cal, final String durationType, final int durationNumber) {
final List<String> dateList = new ArrayList<String>();
final SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
if ("WEEK".endsWith(durationType) && durationNumber > 0) {
final int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
cal.add(Calendar.DATE, -dayOfWeek);
final String dateStrEndFirstWeek = sdf.format(cal.getTime());
cal.add(Calendar.DATE, -6);
final String dateStrStartFirstWeek = sdf.format(cal.getTime());
final String dateStrFristWeek = dateStrStartFirstWeek + " - " + dateStrEndFirstWeek;
dateList.add(dateStrFristWeek);
for (int i = 0; i < durationNumber - 1; i++) {
cal.add(Calendar.DATE, -1);
final String dateStrEnd = sdf.format(cal.getTime());
cal.add(Calendar.DATE, -6);
final String dateStrStart = sdf.format(cal.getTime());
final String dateStr = dateStrStart + " - " + dateStrEnd;
dateList.add(dateStr);
}
return dateList;
} else if ("MONTH".endsWith(durationType) && durationNumber > 0) {
for (int i = 0; i < durationNumber; i++) {
cal.set(Calendar.DATE, 1);
cal.add(Calendar.MONTH, -1);
final String dateStrStart = sdf.format(cal.getTime());
cal.roll(Calendar.DATE, -1);
final String dateStrEnd = sdf.format(cal.getTime());
final String dateStr = dateStrStart + " - " + dateStrEnd;
dateList.add(dateStr);
}
return dateList;
}
return null;
}
相关文章推荐
- java实现记事本基本功能:新建、打开、保存、另存为、退出、替换、全部替换、复制、剪切、粘贴、全选、获取当前时间日期、修改字体、颜色、自动换行等
- Java 使用jdk8的新特性LocalDate和LocalDateTime 实现当前时间,日期加减,是否闰年,时间戳,时间线程每秒改变一次
- 取得当前的时间前几周和前几个月的时间
- JAVA网络编程实现基于TCP协议的时间服务(向服务器查询当前时间)
- 用java界面实现根据当前系统时间定时更新二维码
- java实现将将时间段分成8段,判断当前时间在哪一段时间里?
- java实现oracle插入当前时间的方法
- java中获取当前系统时间以及过半小时之后的时间的实现
- java获取当前时间和前一天日期(实现代码)
- 时间加上偏移量于当前时间比较大小 java实现
- java实现一个小的时钟(当前时间)
- Java实现查询记录的时间相对于当前时间
- Java动态实现创建目录并以当前系统时间作为文件名
- 由过去的某一时间,计算距离当前的时间(Java实现)
- 获取当前时间的前后台实现代码比较java和js
- java实现获取当前系统时间
- java 获取当前时间的三种方法
- 用java获取当前时间以及怎么设置时间的格式
- 与当前时间比较的需求的一个实现方案
- java timer 实现在指定时间执行方法