package com.xcgl.weeklyMeeting.util; import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class AcquisitionTime { static final SimpleDateFormat F = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 获取本周的开始时间 public static String getBeginDayOfWeek() { Date date = new Date(); if (date == null) { return null; } Calendar cal = Calendar.getInstance(); cal.setTime(date); int dayofweek = cal.get(Calendar.DAY_OF_WEEK); if (dayofweek == 1) { dayofweek += 7; } cal.add(Calendar.DATE, 2 - dayofweek); return F.format(getDayStartTime(cal.getTime())); } // 获取本周的结束时间 public static String getEndDayOfWeek(){ Calendar cal = Calendar.getInstance(); try{ cal.setTime(F.parse(getBeginDayOfWeek())); }catch (ParseException e){ } cal.add(Calendar.DAY_OF_WEEK, 6); Date weekEndSta = cal.getTime(); return F.format(getDayEndTime(weekEndSta)); } // 获取上周的开始时间 public static String getBeginDayOfLastWeek() { Date date = new Date(); if (date == null) { return null; } Calendar cal = Calendar.getInstance(); cal.setTime(date); int dayofweek = cal.get(Calendar.DAY_OF_WEEK); if (dayofweek == 1) { dayofweek += 7; } cal.add(Calendar.DATE, 2 - dayofweek - 7); return F.format(getDayStartTime(cal.getTime())); } // 获取上周的结束时间 public static String getEndDayOfLastWeek() { Calendar cal = Calendar.getInstance(); try{ cal.setTime(F.parse(getBeginDayOfLastWeek())); }catch (ParseException e){ } cal.add(Calendar.DAY_OF_WEEK, 6); Date weekEndSta = cal.getTime(); return F.format(getDayEndTime(weekEndSta)); } // 获取某个日期的开始时间 public static Timestamp getDayStartTime(Date d) { Calendar calendar = Calendar.getInstance(); if (null != d) calendar.setTime(d); calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0); calendar.set(Calendar.MILLISECOND, 0); return new Timestamp(calendar.getTimeInMillis()); } // 获取某个日期的结束时间 public static Timestamp getDayEndTime(Date d) { Calendar calendar = Calendar.getInstance(); if (null != d) calendar.setTime(d); calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59); calendar.set(Calendar.MILLISECOND, 999); return new Timestamp(calendar.getTimeInMillis()); } }