java 日期获取,每月一号,每周一

java 日期获取,每月一号,每周一 

  1.  
    package info.lumanman.h5.util;
  2.  
     
  3.  
    import java.text.SimpleDateFormat;
  4.  
    import java.util.Calendar;
  5.  
     
  6.  
    public class DateUtil {
  7.  
     
  8.  
         public static void main(String[] args) {
  9.  
            SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  10.  
             //addDay(sdf,10);
  11.  
             //getWeekDay(sdf);
  12.  
            getMonth(sdf);
  13.  
            
  14.  
        }
  15.  
         /**
  16.  
         * 增加天数
  17.  
         * @param sdf
  18.  
         */
  19.  
         public static void addDay(SimpleDateFormat sdf,int days){
  20.  
            
  21.  
             //获取Calendar实例,java封装的表现,private类Calendar的构造函数,通过静态方法创建对象
  22.  
            Calendar calendar=Calendar.getInstance();
  23.  
             //获取当前时间并格式化
  24.  
            System. out.println("当前时间: "+sdf.format(calendar.getTime()));
  25.  
            
  26.  
             //给当前时间加上天数days并输出,这里的第一个参数用以下三个都可以
  27.  
            Calendar calendar1=Calendar.getInstance();
  28.  
            calendar1. add(Calendar.DAY_OF_YEAR, days);
  29.  
            System. out.println("加了"+days+"天之后的时间: "+sdf.format(calendar1.getTime()));
  30.  
            
  31.  
            Calendar calendar2=Calendar.getInstance();
  32.  
            calendar2. add(Calendar.DAY_OF_MONTH, days);
  33.  
            System. out.println("加了"+days+"之后的时间: "+sdf.format(calendar2.getTime()));
  34.  
            
  35.  
            Calendar calendar3=Calendar.getInstance();
  36.  
            calendar3. add(Calendar.DAY_OF_WEEK, days);
  37.  
            System. out.println("加了"+days+"之后的时间: "+sdf.format(calendar3.getTime()));
  38.  
        }
  39.  
         /**
  40.  
         * 获取当前星期、前一星期、后一星期的第一天和最后一天
  41.  
         * @param sdf
  42.  
         */
  43.  
         public static void getWeekDay(SimpleDateFormat sdf){
  44.  
             //获取Calendar实例,java封装的表现,private类Calendar的构造函数,通过静态方法创建对象
  45.  
            Calendar calendar=Calendar.getInstance();
  46.  
             //获取当前时间并格式化
  47.  
            System. out.println("当前时间: "+sdf.format(calendar.getTime()));
  48.  
            
  49.  
             //本周一
  50.  
            Calendar calendar1=Calendar.getInstance();
  51.  
            calendar1. set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
  52.  
            System. out.println("本周一: "+sdf.format(calendar1.getTime()));
  53.  
             //本周日
  54.  
            Calendar calendar2=Calendar.getInstance();
  55.  
             //外国的星期天和我们的不在一周(外国是星期天到星期六为一个星期)
  56.  
            calendar2. add(Calendar.DAY_OF_WEEK, 7);
  57.  
            calendar2. set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
  58.  
            System. out.println("本周日: "+sdf.format(calendar2.getTime()));
  59.  
            
  60.  
             //下周一
  61.  
            Calendar calendar3=Calendar.getInstance();
  62.  
            calendar3. add(Calendar.DAY_OF_MONTH, 7);
  63.  
            calendar3. set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
  64.  
            System. out.println("下周一: "+sdf.format(calendar3.getTime()));
  65.  
             //下周日
  66.  
            Calendar calendar4=Calendar.getInstance();
  67.  
            calendar4. add(Calendar.DAY_OF_MONTH, 14);
  68.  
            calendar4. set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
  69.  
            System. out.println("下周日: "+sdf.format(calendar4.getTime()));
  70.  
            
  71.  
             //上周一
  72.  
            Calendar calendar5=Calendar.getInstance();
  73.  
            calendar5. add(Calendar.DAY_OF_YEAR, -7);
  74.  
            calendar5. set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
  75.  
            System. out.println("上周一: "+sdf.format(calendar5.getTime()));
  76.  
             //上周日
  77.  
            Calendar calendar6=Calendar.getInstance();
  78.  
            calendar6. set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
  79.  
            System. out.println("上周日: "+sdf.format(calendar6.getTime()));
  80.  
        }
  81.  
         /**
  82.  
         * 获取当前月、前一月、后一月的第一天和最后一天
  83.  
         * @param sdf
  84.  
         */
  85.  
         public static void getMonth(SimpleDateFormat sdf){
  86.  
             //定义当前月的总天数,比如30,31,28,29
  87.  
             int maxCurrentMonthDay=0;
  88.  
            Calendar calendar=Calendar.getInstance();
  89.  
            System. out.println("当前时间: "+sdf.format(calendar.getTime()));
  90.  
            
  91.  
             //当月一号
  92.  
            Calendar calendar1=Calendar.getInstance();
  93.  
            calendar1. set(Calendar.DAY_OF_MONTH, 1);
  94.  
            System. out.println("本月第一天: "+sdf.format(calendar1.getTime()));
  95.  
             //当月最后一天
  96.  
            Calendar calendar2=Calendar.getInstance();
  97.  
            maxCurrentMonthDay=calendar2.getActualMaximum(Calendar.DAY_OF_MONTH);
  98.  
            calendar2. set(Calendar.DAY_OF_MONTH, maxCurrentMonthDay);
  99.  
            System. out.println("本月最后一天: "+sdf.format(calendar2.getTime()));
  100.  
            
  101.  
             //下个月一号
  102.  
            Calendar calendar3=Calendar.getInstance();
  103.  
            maxCurrentMonthDay=calendar3.getActualMaximum(Calendar.DAY_OF_MONTH);
  104.  
            calendar3. add(Calendar.DAY_OF_MONTH, maxCurrentMonthDay);
  105.  
            calendar3. set(Calendar.DAY_OF_MONTH, 1);
  106.  
            System. out.println("下月第一天: "+sdf.format(calendar3.getTime()));
  107.  
             //下个月最后一天
  108.  
            Calendar calendar4=Calendar.getInstance();
  109.  
            maxCurrentMonthDay=calendar4.getActualMaximum(Calendar.DAY_OF_MONTH);
  110.  
            calendar4. add(Calendar.DAY_OF_MONTH, maxCurrentMonthDay);
  111.  
             //第一个maxCurrentMonthDay获取的是当月的天数,第二个maxCurrentMonthDay获取的是下个月的天数
  112.  
            maxCurrentMonthDay=calendar4.getActualMaximum(Calendar.DAY_OF_MONTH);
  113.  
            calendar4. set(Calendar.DAY_OF_MONTH, maxCurrentMonthDay);
  114.  
            System. out.println("下月第一天: "+sdf.format(calendar4.getTime()));
  115.  
            
  116.  
             //上个月一号
  117.  
            Calendar calendar5=Calendar.getInstance();
  118.  
            maxCurrentMonthDay=calendar5.getActualMaximum(Calendar.DAY_OF_MONTH);
  119.  
            calendar5. add(Calendar.DAY_OF_MONTH, -maxCurrentMonthDay);
  120.  
            calendar5. set(Calendar.DAY_OF_MONTH, 1);
  121.  
            System. out.println("上月第一天: "+sdf.format(calendar5.getTime()));
  122.  
             //上个月最后一天
  123.  
            Calendar calendar6=Calendar.getInstance();
  124.  
            maxCurrentMonthDay=calendar6.getActualMaximum(Calendar.DAY_OF_MONTH);
  125.  
            calendar6. add(Calendar.DAY_OF_MONTH, -maxCurrentMonthDay);
  126.  
             //第一个maxCurrentMonthDay获取的是当月的天数,第二个maxCurrentMonthDay获取的是上个月的天数
  127.  
            maxCurrentMonthDay=calendar6.getActualMaximum(Calendar.DAY_OF_MONTH);
  128.  
            calendar6. set(Calendar.DAY_OF_MONTH, maxCurrentMonthDay);
  129.  
            System. out.println("上月第一天: "+sdf.format(calendar6.getTime()));
  130.  
            
  131.  
        }
  132.  }

转载于:https://www.cnblogs.com/mayhh/p/11354818.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值