zoukankan      html  css  js  c++  java
  • Java获取本周一、上周一、下周一时间

    获取本周一时间,然后+/-1就是下周/上周一的时间

    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
     
    public class DateTest {
        public static Date geLastWeekMonday(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(getThisWeekMonday(date));
            cal.add(Calendar.DATE, -7);
            return cal.getTime();
        }
     
        public static Date getThisWeekMonday(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            // 获得当前日期是一个星期的第几天
            int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
            if (1 == dayWeek) {
                cal.add(Calendar.DAY_OF_MONTH, -1);
            }
            // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
            cal.setFirstDayOfWeek(Calendar.MONDAY);
            // 获得当前日期是一个星期的第几天
            int day = cal.get(Calendar.DAY_OF_WEEK);
            // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
            cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
            return cal.getTime();
        }
     
        public static Date getNextWeekMonday(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(getThisWeekMonday(date));
            cal.add(Calendar.DATE, 7);
            return cal.getTime();
        }
     
        public static void main(String[] args) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            try {
                Date date = sdf.parse("2017-09-10");
                System.out.println("今天是" + sdf.format(date));
                System.out.println("上周一" + sdf.format(geLastWeekMonday(date)));
                System.out.println("本周一" + sdf.format(getThisWeekMonday(date)));
                System.out.println("下周一" + sdf.format(getNextWeekMonday(date)));
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    输出结果:

    今天是2017-09-10
    上周一2017-08-28
    本周一2017-09-04
    下周一2017-09-11
  • 相关阅读:
    解决UITableView中Cell重用机制导致内容出错的方法总结
    Hdu 1052 Tian Ji -- The Horse Racing
    Hdu 1009 FatMouse' Trade
    hdu 2037 今年暑假不AC
    hdu 1559 最大子矩阵
    hdu 1004 Let the Balloon Rise
    Hdu 1214 圆桌会议
    Hdu 1081 To The Max
    Hdu 2845 Beans
    Hdu 2955 Robberies 0/1背包
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/14918482.html
Copyright © 2011-2022 走看看