public String getTimeInterval(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss")
Calendar cal = Calendar.getInstance()
cal.setTime(date)
// 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了
int dayWeek = cal.get(Calendar.DAY_OF_WEEK)
if (1 == dayWeek) {
cal.add(Calendar.DAY_OF_MONTH, -1)
}
// System.out.println("要计算日期为:" + sdf.format(cal.getTime()))
// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
cal.setFirstDayOfWeek(Calendar.MONDAY)
// 获得当前日期是一个星期的第几天
int day = cal.get(Calendar.DAY_OF_WEEK)
// 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day)
String imptimeBegin = sdf.format(cal.getTime())
System.out.println("所在周星期一的日期:" + imptimeBegin)
cal.add(Calendar.DATE, 6)
String imptimeEnd = sdf.format(cal.getTime())
System.out.println("所在周星期日的日期:" + imptimeEnd)
return imptimeBegin + "," + imptimeEnd
}
/**
* 获取当天的开始时间
* @return
*/
private Date getStartTime() {
Calendar todayStart = Calendar.getInstance();
todayStart.set(Calendar.HOUR, 0);
todayStart.set(Calendar.MINUTE, 0);
todayStart.set(Calendar.SECOND, 0);
todayStart.set(Calendar.MILLISECOND, 0);
return todayStart.getTime();
}
/**
* 获取当天的结束时间
* @return
*/
private Date getEndTime() {
Calendar todayEnd = Calendar.getInstance();
todayEnd.set(Calendar.HOUR, 23);
todayEnd.set(Calendar.MINUTE, 59);
todayEnd.set(Calendar.SECOND, 59);
todayEnd.set(Calendar.MILLISECOND, 999);
return todayEnd.getTime();
}
/**
* 获取当前周是第几周
* @param date
* @return
*/
private int getWeekOfYear(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.setMinimalDaysInFirstWeek(7);
calendar.setTime(date);
int weekstr = calendar.get(Calendar.WEEK_OF_YEAR);
System.out.println("week is = " + weekstr);
return weekstr;
}
/**
* 获取当前本周几
* @param date
* @return
*/
private int getDayOfWeek(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int week = calendar.get(Calendar.DAY_OF_WEEK);
System.out.println("week is = " + (week-1));
return week-1;
}
/**
* 日期增加一天
* @param s
* @param n
* @return
*/
public static String addDay(Date start, int n) {
try {
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Calendar cd = Calendar.getInstance();
cd.setTime(start);
cd.add(Calendar.DATE, n);
Date time=cd.getTime();
String endTime= sdFormat.format(time);
System.out.println(endTime);
return endTime;
} catch (Exception e) {
return null;
}
}
/**
* 把时间加一天
* @param time
* @return
* @throws Exception
*/
public String addOneDay(String time){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
long millionSeconds;
try {
millionSeconds = sdf.parse(time).getTime();
Date d = new Date(millionSeconds+24*3600*1000);
return sdf.format(d);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}