java获取常用日期

获取当天日期

/** 获得当前时间:yyyy-MM-dd  HH:mm:ss */
	public static String getNowDateStr() {
		SimpleDateFormat sdf  = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date = new Date();
		String nowDate = sdf.format(date);
		return nowDate;
	}

获取昨天日期

  /** 获得昨天日期:yyyy-MM-dd  HH:mm:ss */
    public static String getYesterdayStr() {
        Calendar c = Calendar.getInstance();
        c.add(Calendar.DATE, -1);
        SimpleDateFormat startSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return startSdf.format(c.getTime());
    }

获取上周第一天

/** 获得上周第一天:yyyy-MM-dd  HH:mm:ss */
	public static String getWeekStartDay() {
		Calendar c = Calendar.getInstance();
		c.set(Calendar.DAY_OF_WEEK,2);
		c.add(Calendar.DATE, -7);
		SimpleDateFormat startSdf = new SimpleDateFormat("yyyy-MM-dd  00:00:00");
		return startSdf.format(c.getTime());
	}

获取上周最后一天

	/** 获得上周最后一天:yyyy-MM-dd  HH:mm:ss */
	public static String getWeekEndDay() {
		Calendar c = Calendar.getInstance();
		c.set(Calendar.DAY_OF_WEEK,2);
		c.add(Calendar.DATE, -1);
		SimpleDateFormat endSdf = new SimpleDateFormat("yyyy-MM-dd  23:59:59");
		return endSdf.format(c.getTime());
	}

获取当前周的周一和周日的日期

// 获取本周一的日期(以周一为第一天)
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
Calendar cld = Calendar.getInstance(Locale.CHINA);
	cld.setFirstDayOfWeek(Calendar.MONDAY);//以周一为首日
	cld.setTimeInMillis(System.currentTimeMillis());//当前时间
	cld.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);//周一
	System.out.println(df.format(cld.getTime()));
	cld.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);//周日
	System.out.println(df.format(cld.getTime()));

获取本周的日期(以周日为第一天)

Calendar cal = Calendar.getInstance();
	cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
	cal.set(Calendar.HOUR_OF_DAY, 0);
	cal.set(Calendar.MINUTE, 0);
	cal.set(Calendar.SECOND, 0);
	date1 = cal.getTime();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	Calendar c = Calendar.getInstance();
	List<String> dates = new ArrayList<>();
	dates.add(sdf.format(date1));
	for (int i = 1; i < 7; i++) {
		c.setTime(date1);
		c.add(Calendar.DAY_OF_MONTH, i);
		Date date2 = c.getTime();
		dates.add(sdf.format(date2));
	}

获取本月第一天

 public  Date getmindate(){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
   		calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
        return calendar.getTime();
    }

获取本月最后一天

public  Date getmaxdate(){
        Calendar calendar2 = Calendar.getInstance();
        calendar2.setTime(new Date());
        calendar2.set(Calendar.DAY_OF_MONTH, calendar2.getActualMaximum(Calendar.DAY_OF_MONTH));
        return calendar2.getTime();
    }

获取上月第一天

/** 获得上月第一天:yyyy-MM-dd  HH:mm:ss */
	public static String getMonthStartDay() {
		Calendar c = Calendar.getInstance();
		c.add(Calendar.MONTH, -1);
		c.set(c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.getActualMaximum(Calendar.DAY_OF_MONTH), 23, 59, 59);
		SimpleDateFormat startSdf = new SimpleDateFormat("yyyy-MM-01  00:00:00");
		return startSdf.format(c.getTime());
	}

获取上月最后一天

/** 获得上月最后一天:yyyy-MM-dd  HH:mm:ss */
	public static String getMonthEndDay() {
		Calendar c = Calendar.getInstance();
		c.add(Calendar.MONTH, -1);
		c.set(c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.getActualMaximum(Calendar.DAY_OF_MONTH), 23, 59, 59);
		SimpleDateFormat endSdf = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");
		return endSdf.format(c.getTime());
	}

具体日期

获取当前年份、月份、日期

  Calendar cale = null;  
        cale = Calendar.getInstance();  
        int year = cale.get(Calendar.YEAR);  
        int month = cale.get(Calendar.MONTH) + 1;  
        int day = cale.get(Calendar.DATE);  
        int hour = cale.get(Calendar.HOUR_OF_DAY);  
        int minute = cale.get(Calendar.MINUTE);  
        int second = cale.get(Calendar.SECOND);  

获取某年某月的第一天

 /**
	   * 获取某年某月的第一天
	   * @Title:getFisrtDayOfMonth
	   * @Description:
	   * @param:@param year
	   * @param:@param month
	   * @param:@return
	   * @return:String
	   * @throws
	   */
	  public static String getFisrtDayOfMonth(int year,int month)
	  {
	    Calendar cal = Calendar.getInstance();
	    //设置年份
	    cal.set(Calendar.YEAR,year);
	    //设置月份
	    cal.set(Calendar.MONTH, month-1);
	    //获取某月最小天数
	    int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
	    //设置日历中月份的最小天数
	    cal.set(Calendar.DAY_OF_MONTH, firstDay);
	    //格式化日期
	    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	    String firstDayOfMonth = sdf.format(cal.getTime());
	    return firstDayOfMonth;
	  }

获取某年某月的最后一天

  /**
	   * 获取某年某月的最后一天
	   * @Title:getFisrtDayOfMonth
	   * @Description:
	   * @param:@param year
	   * @param:@param month
	   * @param:@return
	   * @return:String
	   * @throws
	   */
	  public static String getMaxDayOfMonth(int year,int month)
	  {
		  Calendar cal = Calendar.getInstance();
		  //设置年份
		  cal.set(Calendar.YEAR,year);
		  //设置月份
		  cal.set(Calendar.MONTH, month-1);
		  //获取某月最小天数
		  int firstDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
		  //设置日历中月份的最小天数
		  cal.set(Calendar.DAY_OF_MONTH, firstDay);
		  //格式化日期
		  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		  String firstDayOfMonth = sdf.format(cal.getTime());
		  return firstDayOfMonth;
	  }

获取两个日期之间的日期

 /**
     * @param startDate  开始日期
     * @param endDate   结束日期
     * @return  List集合
     */
public static List<String> getDates(String startDate, String endDate) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            List<String> list = new ArrayList<String>(); //保存日期的集合 
            Date date_start = sdf.parse(startDate);
            Date date_end = sdf.parse(endDate);
            Date date =date_start;
            Calendar cd = Calendar.getInstance();//用Calendar 进行日期比较判断
            while (date.getTime() <= date_end.getTime()){
                     list.add(sdf.format(date));
                     cd.setTime(date);
                     cd.add(Calendar.DATE, 1);//增加一天 放入集合
                     date=cd.getTime();
            }
            String strList = StringUtils.strip(list.toString(),"[]");//去掉符号[]
            System.out.println(list);
            System.out.println(strList);
            return list ;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值