public class CalendarUtils { public static Calendar calendar = Calendar.getInstance(); public static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
public static String rightnow(){ /**获取格式化当前日期的表达式**/ long rightnow = calendar.getTimeInMillis(); return dateFormat.format(rightnow); } public static String getLastWeek() { /**获取格式化一周前的日期的表达式**/ long rightnow = calendar.getTimeInMillis(); long aweekbefore = 6 * 24 * 60 * 60 * 1000; return dateFormat.format(rightnow - aweekbefore); } public static String getFirstDayInMonth() { /**获取格式化当前月第一天的表达式**/ calendar.set(getYear(),getMonth()-1, 1);// 设为当前月的1号 ,月从0开始 return dateFormat.format(calendar.getTime()); } public static String getFirstDayInMonth(int month){ /**获取格式化给定月(参数:逻辑月)第一天的表达式,重载方法**/ calendar.set(getYear(), month-1, 1);// 设为当前月的1号 ,月从0开始 return dateFormat.format(calendar.getTime()); } public static String getLastDayInMonth(int month){ /**获取格式化给定月(参数:逻辑月)最后一天的表达式**/ calendar.set(getYear(), month, 1); //设成下个月的一号,往前减一天的时间 return dateFormat.format(calendar.getTimeInMillis() - 24*60*60*1000); } public static String getFirstDayInQuart() { /**获取格式化当前季度第一天的表达式**/ int month = getMonth(); if (month >= 1 && month <= 3) month = 1; if (month >= 4 && month <= 6) month = 4; if (month >= 7 && month <= 9) month = 7; if (month >= 10 && month <= 12) month = 10; calendar.set(getYear(),month-1, 1); //当年当季一号,月从0开始 return dateFormat.format(calendar.getTime()); } public static String getFirstDayInYear(){ /**获取格式化一年第一天的表达式**/ calendar.set(getYear(), 0, 1); //当年当季一号,月从0开始 return dateFormat.format(calendar.getTime()); } public static int getYear() { /** 获得当前年份 */ return calendar.get(Calendar.YEAR); } public static int getMonth() { /*** 获得当前月份 **/ return calendar.get(Calendar.MONTH) + 1; } public static int getWeek() { /*** 获得当前周数 **/ return calendar.get(Calendar.DAY_OF_WEEK); }
public static int getHoursofDay() { //取到一天中的小时数 return Calendar.HOUR_OF_DAY; }
public static String [] getDaysBackward(int ndays) { //获取最近ndays天(含今天)的日期,返回日期表达式数组 String [] daysBackward = new String[ndays]; SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate; for (int i = 0; i < ndays; i++) { lastDate = Calendar.getInstance(); lastDate.add(Calendar.DATE, -1*i); //减去一天,变为上月最后一天 daysBackward[ndays - 1 - i] = df.format(lastDate.getTime()); } return daysBackward; } }