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
  • 相关阅读:
    dropdownList级联刷新gridView
    Jquery解析json数据
    ASP.NET UserControl 通信
    sharepointWebPart开发、部署、发布过程全记录
    buffer和cache怎么让你们解释的那么难理解?
    Global.asax用法分析
    1、什么是ASP.NET MVC
    在Global.asax文件里实现通用防SQL注入漏洞程序
    ABP vNext V5 + VS2022+ .Net 6.0 学习笔记(1)
    使用IIS时的小问题
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/14918482.html
Copyright © 2011-2022 走看看