• Java用于取得当前日期相对应的月初,月末,季初,季末,年初,年末时间


      1 package com.zrar.date;
      2 import java.util.Calendar;
      3 /**
      4  * 
      5  * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为String字符串
      6  *      1、得到当前日期         today()
      7  *      2、得到当前月份月初      thisMonth()
      8  *      3、得到当前月份月底      thisMonthEnd()
      9  *      4、得到当前季度季初      thisSeason()
     10  *      5、得到当前季度季末      thisSeasonEnd()
     11  *      6、得到当前年份年初      thisYear()
     12  *      7、得到当前年份年底      thisYearEnd()
     13  *      8、判断输入年份是否为闰年 leapYear
     14  *      
     15  * 注意事项:  日期格式为:xxxx-yy-zz (eg: 2007-12-05)
     16  *
     17  * 实例:
     18  *
     19  * @author pure
     20  */
     21 public class DateThis {
     22     private int x;                  // 日期属性:年
     23     private int y;                  // 日期属性:月
     24     private int z;                  // 日期属性:日
     25     private Calendar localTime;     // 当前日期
     26     public DateThis() {
     27         localTime = Calendar.getInstance();
     28     }
     29     /**
     30      * 功能:得到当前日期 格式为:xxxx-yy-zz (eg: 2007-12-05)<br> 
     31      * @return String
     32      * @author pure
     33      */
     34     public String today() {
     35         String strY = null;
     36         String strZ = null;
     37         x = localTime.get(Calendar.YEAR);
     38         y = localTime.get(Calendar.MONTH) + 1;
     39         z = localTime.get(Calendar.DATE);
     40         strY = y >= 10 ? String.valueOf(y) : ("0" + y);
     41         strZ = z >= 10 ? String.valueOf(z) : ("0" + z);
     42         return x + "-" + strY + "-" + strZ;
     43     }
     44     /**
     45      * 功能:得到当前月份月初 格式为:xxxx-yy-zz (eg: 2007-12-01)<br> 
     46      * @return String
     47      * @author pure
     48      */
     49     public String thisMonth() {
     50         String strY = null;
     51         x = localTime.get(Calendar.YEAR);
     52         y = localTime.get(Calendar.MONTH) + 1;
     53         strY = y >= 10 ? String.valueOf(y) : ("0" + y);
     54         return x + "-" + strY + "-01";
     55     }
     56     /**
     57      * 功能:得到当前月份月底 格式为:xxxx-yy-zz (eg: 2007-12-31)<br> 
     58      * @return String
     59      * @author pure
     60      */
     61     public String thisMonthEnd() {
     62         String strY = null;
     63         String strZ = null;
     64         boolean leap = false;
     65         x = localTime.get(Calendar.YEAR);
     66         y = localTime.get(Calendar.MONTH) + 1;
     67         if (y == 1 || y == 3 || y == 5 || y == 7 || y == 8 || y == 10 || y == 12) {
     68             strZ = "31";
     69         }
     70         if (y == 4 || y == 6 || y == 9 || y == 11) {
     71             strZ = "30";
     72         }
     73         if (y == 2) {
     74             leap = leapYear(x);
     75             if (leap) {
     76                 strZ = "29";
     77             }
     78             else {
     79                 strZ = "28";
     80             }
     81         }
     82         strY = y >= 10 ? String.valueOf(y) : ("0" + y);
     83         return x + "-" + strY + "-" + strZ;
     84     }
     85     /**
     86      * 功能:得到当前季度季初 格式为:xxxx-yy-zz (eg: 2007-10-01)<br> 
     87      * @return String
     88      * @author pure
     89      */
     90     public String thisSeason() {
     91         String dateString = "";
     92         x = localTime.get(Calendar.YEAR);
     93         y = localTime.get(Calendar.MONTH) + 1;
     94         if (y >= 1 && y <= 3) {
     95             dateString = x + "-" + "01" + "-" + "01";
     96         }
     97         if (y >= 4 && y <= 6) {
     98             dateString = x + "-" + "04" + "-" + "01";
     99         }
    100         if (y >= 7 && y <= 9) {
    101             dateString = x + "-" + "07" + "-" + "01";
    102         }
    103         if (y >= 10 && y <= 12) {
    104             dateString = x + "-" + "10" + "-" + "01";
    105         }
    106         return dateString;
    107     }
    108     /**
    109      * 功能:得到当前季度季末 格式为:xxxx-yy-zz (eg: 2007-12-31)<br> 
    110      * @return String
    111      * @author pure
    112      */
    113     public String thisSeasonEnd() {
    114         String dateString = "";
    115         x = localTime.get(Calendar.YEAR);
    116         y = localTime.get(Calendar.MONTH) + 1;
    117         if (y >= 1 && y <= 3) {
    118             dateString = x + "-" + "03" + "-" + "31";
    119         }
    120         if (y >= 4 && y <= 6) {
    121             dateString = x + "-" + "06" + "-" + "30";
    122         }
    123         if (y >= 7 && y <= 9) {
    124             dateString = x + "-" + "09" + "-" + "30";
    125         }
    126         if (y >= 10 && y <= 12) {
    127             dateString = x + "-" + "12" + "-" + "31";
    128         }
    129         return dateString;
    130     }
    131     /**
    132      * 功能:得到当前年份年初 格式为:xxxx-yy-zz (eg: 2007-01-01)<br> 
    133      * @return String
    134      * @author pure
    135      */
    136     public String thisYear() {
    137         x = localTime.get(Calendar.YEAR);
    138         return x + "-01" + "-01";
    139     }
    140     /**
    141      * 功能:得到当前年份年底 格式为:xxxx-yy-zz (eg: 2007-12-31)<br> 
    142      * @return String
    143      * @author pure
    144      */
    145     public String thisYearEnd() {
    146         x = localTime.get(Calendar.YEAR);
    147         return x + "-12" + "-31";
    148     }
    149     /**
    150      * 功能:判断输入年份是否为闰年<br>
    151      * 
    152      * @param year
    153      * @return 是:true  否:false
    154      * @author pure
    155      */
    156     public boolean leapYear(int year) {
    157         boolean leap;
    158         if (year % 4 == 0) {
    159             if (year % 100 == 0) {
    160                 if (year % 400 == 0) leap = true;
    161                 else leap = false;
    162             }
    163             else leap = true;
    164         }
    165         else leap = false;
    166         return leap;
    167     }
    168 }
  • 相关阅读:
    Linux常用命令(二)
    C#异步调用
    Ajax运用总结
    SQL Server2005 FOR XML PATH 语句的应用
    SQL Server 2005 处理交叉表
    如何控制并发和控制死锁(内含pb的处理要点)
    WPF 中的换行符
    C#委托的异步调用
    pivot 附近有语法错误,您可能需要将当前数据库的兼容级别设置为更高的值。
    应用系统BUG分布小结
  • 原文地址:https://www.cnblogs.com/lr393993507/p/5542689.html
Copyright © 2020-2023  润新知