首页 > 其他 > 详细

java 中怎么根据当前时间得到上周一和上周五的日期

时间:2014-01-19 15:56:57      阅读:1173      评论:0      收藏:0      [点我收藏+]

/**
     * 获取上周五时间
     */
    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);

    }

 

/**
     * 获取上周一时间
     */
    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);
  cal.set(Calendar.SECOND, 0);
  cal.set(Calendar.MILLISECOND, 0);
  return cal.getTime();
 }

java 中怎么根据当前时间得到上周一和上周五的日期

原文:http://www.cnblogs.com/mingtian521/p/3525870.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!