java 获取上月、一个月最后一天、周一、周日、本月日期

获取上月:
Calendar c = Calendar.getInstance();
  c.add(Calendar.MONTH, -1);
  SimpleDateFormat format =  new SimpleDateFormat("yyyy-MM");
  String time = format.format(c.getTime());

 

 

//得到一个月最后一天日期(31/30/29/28)
  int MaxDay=c.getActualMaximum(Calendar.DAY_OF_MONTH);
  //按你的要求设置时间
  c.set( c.get(Calendar.YEAR), c.get(Calendar.MONTH), MaxDay, 23, 59, 59);
  //按格式输出
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");
  String gtime = sdf.format(c.getTime()); //上月最后一天

 

 

/**
  * 获取本日日期
  * @return
  */
 public static String getToDay(){
  Calendar c = Calendar.getInstance();
  String time = getTime(c);
  System.out.println(time);
  return time;
 }


 /**
  * 获取本周一日期
  * @return
  */
 public static String getWeekA(){
  Calendar cal =Calendar.getInstance();
  cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
//  System.out.println(cal.getTime());
  String time = getTime(cal)+" 00:00:00";
  System.out.println(time);
  return time;
 }

 

 /**
  * 获取本周日日期
  * @return
  */
 public static String getWeekB(){
  Calendar cal =Calendar.getInstance();
//  System.out.println(cal.getTime());
  //这种输出的是上个星期周日的日期,因为老外那边把周日当成第一天
  cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
//  System.out.println(cal.getTime());
  
  //增加一个星期,才是我们中国人理解的本周日的日期
  cal.add(Calendar.WEEK_OF_YEAR, 1);
//  System.out.println(cal.getTime()); //本周日
  String time = getTime(cal)+" 23:59:59";
  System.out.println(time);
  return time;
 }


 /**
  * 获取本月日期
  * @return
  */
 public static String getMonth(){
  Calendar c = Calendar.getInstance();
  SimpleDateFormat format =  new SimpleDateFormat("yyyy-MM");
  String time = format.format(c.getTime());
  System.out.println(time);
  return time;
 }

你可能感兴趣的:(java)