Java 根据日期获取所在周的周几(如:星期一)

package com.jyt.infant.test.service;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DayTest {

	public static final int N = 0;
	public static DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

	/**
	 * 
	 * @Title: getMonDay
	 * @Description: TODO(获取当前所在周的星期一)
	 * @return date
	 */
	public static Date getMonDayToDate() {
		Calendar cal = Calendar.getInstance();

		// N:0-表示本周,1-表示下周,-1-表示上周
		cal.add(Calendar.DATE, N * 7);
		// Calendar.MONDAY 表示获取周一的日期; Calendar.WEDNESDAY:表示周三的日期
		cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

		return cal.getTime();
	}

	/**
	 * 
	 * @Title: getMonDay
	 * @Description: TODO(根据指定日期获取当周周一)
	 * @param date
	 * @return date
	 */
	public static Date getMonDayToDate(String date) {
		Calendar cal = Calendar.getInstance();
		cal.setTime(getStringFormatToDate(date));

		// N:0-表示本周,1-表示下周,-1-表示上周
		cal.add(Calendar.DATE, N * 7);
		// Calendar.MONDAY 表示获取周一的日期; Calendar.WEDNESDAY:表示周三的日期
		cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

		return cal.getTime();
	}

	/**
	 * 
	 * @Title: convertToDate
	 * @Description: TODO(将日期字符串转化为:"yyyy-MM-dd"格式的Date日期)
	 * @param date
	 * @return
	 */
	public static Date getStringFormatToDate(String date) {
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

		if (date.equals("")) {
			return new Date();
		}

		try {
			return df.parse(date);
		} catch (ParseException e) {
			e.printStackTrace();
			return new Date();
		}
	}

	/**
	 * 将日期格式为:yyyy-MM-dd字符串
	 * 
	 * @param date
	 * @return
	 * @throws Exception
	 */
	public static String getDateFormatToString(Date date) {
		if (date == null) {
			return "";
		}
		
		
		return df.format(date);
	}

	/**
	 * 
	 * @Title: getMonDay
	 * @Description: TODO(获取当前所在周的星期一)
	 * @return strDate
	 */
	public static String getMonDayToString() {
		Calendar cal = Calendar.getInstance();

		// N:0-表示本周,1-表示下周,-1-表示上周
		cal.add(Calendar.DATE, N * 7);
		// Calendar.MONDAY 表示获取周一的日期; Calendar.WEDNESDAY:表示周三的日期
		cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

		return getDateFormatToString(cal.getTime());
	}

	/**
	 * 
	 * @Title: getMonDay
	 * @Description: TODO(根据指定日期获取当周周一)
	 * @param date
	 * @return strDate
	 */
	public static String getMonDayToString(String date) {
		Calendar cal = Calendar.getInstance();
		cal.setTime(getStringFormatToDate(date));

		// N:0-表示本周,1-表示下周,-1-表示上周
		cal.add(Calendar.DATE, N * 7);
		// Calendar.MONDAY 表示获取周一的日期; Calendar.WEDNESDAY:表示周三的日期
		cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

		return getDateFormatToString(cal.getTime());
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值