zoukankan      html  css  js  c++  java
  • 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.  }
  • 相关阅读:
    技术晨读_20160611
    浏览器退出之后php还会继续执行么?
    大话keepalive
    也说说TIME_WAIT状态
    PHP的错误机制总结
    ASP.NET MVC中使用Unity Ioc Container
    Unity依赖注入使用详解
    小菜学习设计模式(五)—控制反转(Ioc)
    程序员的人性思考(续)
    Delegate、Predicate、Action和Func
  • 原文地址:https://www.cnblogs.com/mayhh/p/11354818.html
Copyright © 2011-2022 走看看