java 中怎么根据当前时间得到上周一和上周五的日期
2014-01-19 13:51
555 查看
/**
* 获取上周五时间
*/
public Date lastFirday() {
//作用防止周日得到本周日期
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
int offset = 7 - dayOfWeek;
calendar.add(Calendar.DATE, offset - 9);
return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 6);//这是从上周日开始数的到本周五为6
}
/**
* 获取上周一时间
*/
public Date lastMonday() {
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
int offset = 1 - dayOfWeek;
calendar.add(Calendar.DATE, offset - 7);
return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 2);
}
/**
* 得到某一天的该星期的第一日 00:00:00
*
* @param date
* @param firstDayOfWeek
* 一个星期的第一天为星期几
*
* @return
*/
public static Date getFirstDayOfWeek(Date date, int firstDayOfWeek) {
Calendar cal = Calendar.getInstance();
if (date != null)
cal.setTime(date);
cal.setFirstDayOfWeek(firstDayOfWeek);//设置一星期的第一天是哪一天
cal.set(Calendar.DAY_OF_WEEK, firstDayOfWeek);//指示一个星期中的某天
cal.set(Calendar.HOUR_OF_DAY, 0);//指示一天中的小时。
cal.set(Calendar.MINUTE, 0);//指示一小时中的分钟。例如,在 10:04:15.250 PM 这一时刻,
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTime();
}
* 获取上周五时间
*/
public Date lastFirday() {
//作用防止周日得到本周日期
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
int offset = 7 - dayOfWeek;
calendar.add(Calendar.DATE, offset - 9);
return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 6);//这是从上周日开始数的到本周五为6
}
/**
* 获取上周一时间
*/
public Date lastMonday() {
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
int offset = 1 - dayOfWeek;
calendar.add(Calendar.DATE, offset - 7);
return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 2);
}
/**
* 得到某一天的该星期的第一日 00:00:00
*
* @param date
* @param firstDayOfWeek
* 一个星期的第一天为星期几
*
* @return
*/
public static Date getFirstDayOfWeek(Date date, int firstDayOfWeek) {
Calendar cal = Calendar.getInstance();
if (date != null)
cal.setTime(date);
cal.setFirstDayOfWeek(firstDayOfWeek);//设置一星期的第一天是哪一天
cal.set(Calendar.DAY_OF_WEEK, firstDayOfWeek);//指示一个星期中的某天
cal.set(Calendar.HOUR_OF_DAY, 0);//指示一天中的小时。
HOUR_OF_DAY用于 24 小时制时钟。例如,在 10:04:15.250 PM 这一时刻,
HOUR_OF_DAY为 22。
cal.set(Calendar.MINUTE, 0);//指示一小时中的分钟。例如,在 10:04:15.250 PM 这一时刻,
MINUTE为 4。
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTime();
}
相关文章推荐
- java方法,返回两个日期内的所有date集合,根据开始时间、结束时间得到两个时间段内所有的日期
- java 日期和字符串互转,根据当天整天时间 得到当天最后一秒的日期时间
- [Java] 如何通过当前时间得到日期,月份,年
- java方法,返回两个日期内的所有date集合,根据开始时间、结束时间得到两个时间段内所有的日期
- java根据当前日期+指定天数(月份...)得到相应日期,计算两日期之差
- 【java】根据开始时间、结束时间得到两个时间段内所有的日期
- JAVA中的Calendar得到当前时间的年份、月份、日期
- java 根据当前时间获得一周日期
- java根据出生日期和当前时间计算年龄
- java根据当前时间获取前一个月的日期组成List
- java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)
- JAVA获得当前日期时间字符串
- 根据当前时间取得星期一跟星期天的日期
- DatePicker 设置最小日期是当前时间报错:java.lang.IllegalArgumentException: fromDate:xxx does not preced toDate: xx
- 根据当前日期得到前/后n天日期 根据指定日期得到前/后n天日期
- asp.net 根据当前时间计算是否股票、期货、黄金交易日期
- 使用java的Calendar对象获得当前日期的上几个度开始、结束时间
- Java 获取当前日期和时间
- Java Web——显示当前日期和时间的代码
- 用java界面实现根据当前系统时间定时更新二维码