下面全是方法,由于项目需要,本人就把形参全设置为String类型的,String-->date是.parse();
date-->String是.formart(); calendar.getTime()返回的是date类型.这几句话不懂什么意思的人
往下看再看回来就行了。
/**
* 获取该天所在的星期一
* 2014年8月15日
* author:zhousw
*/
public String getCurrentWeekDayStartTime(String week) {
Calendar calendar = Calendar.getInstance();
String weekStart = null;
try {
calendar.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(week));
int weekday = calendar.get(Calendar.DAY_OF_WEEK);//Calendar.DAY_OF_WEEK是按星期日开始算,星期日为1
calendar.add(Calendar.DATE, 2-weekday);//星期天就是2,2-weekday意思就是 增加或减去weekday相对的天数,得到的就是星期一这天了
weekStart = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime())+" 00:00:00";
} catch (Exception e) {
e.printStackTrace();
}
return weekStart;
}
/**
* 获取该天所在的星期日
* 2014年8月15日
* author:zhousw
*/
public String getCurrentWeekDayEndTime(String week) {
Calendar calendar = Calendar.getInstance();
String weekEnd = null;
try {
calendar.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(week));
int weekday = calendar.get(Calendar.DAY_OF_WEEK);
calendar.add(Calendar.DATE, 8 - weekday);
weekEnd = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime())+" 23:59:59";
} catch (Exception e) {
e.printStackTrace();
}
return weekEnd;
}
/**获取当月开始时间 2014-08-01 00:00:00
* 2014年8月14日
* author:zhousw
*/
public String getCurrentMonthStartTime(String month){
Calendar calendar = Calendar.getInstance();
String monthStart = null;
try {
calendar.set(Calendar.DATE, 1);
calendar.setTime(new SimpleDateFormat("yyyy-MM").parse(month));
monthStart = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime())+" 00:00:00";
} catch (Exception e) {
e.printStackTrace();
}
return monthStart;
}
/**
* 当前月结束时间
* 2014年8月15日
* author:zhousw
*/
public String getCurrentMonthEndTime(String month){
Calendar calendar = Calendar.getInstance();
String monthEnd = null;
try {
calendar.setTime(new SimpleDateFormat("yyyy-MM").parse(month));//先把参数赋给calendar,方便后面操作
calendar.set(Calendar.DATE, 1);//时间上 ,天设置为1号
calendar.add(Calendar.MONTH, +1);//如month是2014-08 这里得到的就是2014-09
calendar.add(Calendar.DATE, -1);//到这里本来是2014-09-01,-1就是9.1号的前一天2014-08-31了
monthEnd = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime())+" 23:59:59";
} catch (Exception e) {
e.printStackTrace();
}
return monthEnd;
}
/**
* 年开始时间
* 2014年8月15日
* author:zhousw
*/
public String getCurrentYearStartTime(String year){
Calendar calendar = Calendar.getInstance();
String yearStart = null;
try {
calendar.setTime(new SimpleDateFormat("yyyy").parse(year));
calendar.set(Calendar.MONTH, 0);
calendar.set(Calendar.DATE, 1);
yearStart = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime())+" 00:00:00";
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return yearStart;
}
/**
* 年结束时间
* 2014年8月15日
* author:zhousw
*/
public String DateCurrentYearEndTime(String year){
Calendar calendar = Calendar.getInstance();
String yearEnd = null;
try {
calendar.setTime(new SimpleDateFormat("yyyy").parse(year));
calendar.set(Calendar.MONTH, 11);
calendar.set(Calendar.DATE, 32);
calendar.add(Calendar.DATE, -1);
yearEnd = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime())+" 23:59:59";
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return yearEnd;
}