Java日期操作常用方法(转自 csdn)

先来一个:  
取得指定月份的第一天与取得指定月份的最后一天  
http://iamin.blogdriver.com/iamin/847990.html  
       /**  
         *  取得指定月份的第一天  
         *  
         *  @param  strdate  String  
         *  @return  String  
         */  
       public  String  getMonthBegin(String  strdate)  
       {  
               java.util.Date  date  =  parseFormatDate(strdate);  
               return  formatDateByFormat(date,"yyyy-MM")  +  "-01";  
       }  
 
       /**  
         *  取得指定月份的最后一天  
         *  
         *  @param  strdate  String  
         *  @return  String  
         */  
       public  String  getMonthEnd(String  strdate)  
       {  
               java.util.Date  date  =  parseFormatDate(getMonthBegin(strdate));  
               Calendar  calendar  =  Calendar.getInstance();  
               calendar.setTime(date);  
               calendar.add(Calendar.MONTH,1);  
               calendar.add(Calendar.DAY_OF_YEAR,  -1);  
               return  formatDate(calendar.getTime());  
       }  
 
       /**  
         *  常用的格式化日期  
         *  
         *  @param  date  Date  
         *  @return  String  
         */  
       public  String  formatDate(java.util.Date  date)  
       {  
               return  formatDateByFormat(date,"yyyy-MM-dd");  
       }  
 
       /**  
         *  以指定的格式来格式化日期  
         *  
         *  @param  date  Date  
         *  @param  format  String  
         *  @return  String  
         */  
       public  String  formatDateByFormat(java.util.Date  date,String  format)  
       {  
               String  result  =  "";  
               if(date  !=  null)  
               {  
                       try  
                       {  
                               SimpleDateFormat  sdf  =  new  SimpleDateFormat(format);  
                               result  =  sdf.format(date);  
                       }  
                       catch(Exception  ex)  
                       {  
                               LOGGER.info("date:"  +  date);  
                               ex.printStackTrace();  
                       }  
               }  
               return  result;  
       }  
---------------------------------------------------------------  
 
package  com.app.util;  
 
/**  
 *  日期操作  
 *    
 *  @author  xxx  
 *  @version  2.0  jdk1.4.0  tomcat5.1.0  *  Updated  Date:2005/03/10  
 */  
public  class  DateUtil  {  
           /**  
             *  格式化日期  
             *    
             *  @param  dateStr  
             *                        字符型日期  
             *  @param  format  
             *                        格式  
             *  @return  返回日期  
             */  
           public  static  java.util.Date  parseDate(String  dateStr,  String  format)  {  
                       java.util.Date  date  =  null;  
                       try  {  
                                   java.text.DateFormat  df  =  new  java.text.SimpleDateFormat(format);  
                                   String  dt=Normal.parse(dateStr).replaceAll(  
                                                           "-",  "/");  
                                   if((!dt.equals(""))&&(dt.length()<format.length())){  
                                               dt+=format.substring(dt.length()).replaceAll("[YyMmDdHhSs]","0");  
                                   }  
                                   date  =  (java.util.Date)  df.parse(dt);  
                       }  catch  (Exception  e)  {  
                       }  
                       return  date;  
           }  
 
           public  static  java.util.Date  parseDate(String  dateStr)  {  
                       return  parseDate(dateStr,  "yyyy/MM/dd");  
           }  
 
           public  static  java.util.Date  parseDate(java.sql.Date  date)  {  
                       return  date;  
           }  
             
           public  static  java.sql.Date  parseSqlDate(java.util.Date  date)  {  
                       if  (date  !=  null)  
                                   return  new  java.sql.Date(date.getTime());  
                       else  
                                   return  null;  
           }  
 
           public  static  java.sql.Date  parseSqlDate(String  dateStr,  String  format)  {  
                       java.util.Date  date  =  parseDate(dateStr,  format);  
                       return  parseSqlDate(date);  
           }  
 
           public  static  java.sql.Date  parseSqlDate(String  dateStr)  {  
                       return  parseSqlDate(dateStr,  "yyyy/MM/dd");  
           }  
 
             
           public  static  java.sql.Timestamp  parseTimestamp(String  dateStr,  
                                   String  format)  {  
                       java.util.Date  date  =  parseDate(dateStr,  format);  
                       if  (date  !=  null)  {  
                                   long  t  =  date.getTime();  
                                   return  new  java.sql.Timestamp(t);  
                       }  else  
                                   return  null;  
           }  
 
           public  static  java.sql.Timestamp  parseTimestamp(String  dateStr)  {  
                       return  parseTimestamp(dateStr,  "yyyy/MM/dd  HH:mm:ss");  
           }  
 
           /**  
             *  格式化输出日期  
             *    
             *  @param  date  
             *                        日期  
             *  @param  format  
             *                        格式  
             *  @return  返回字符型日期  
             */  
           public  static  String  format(java.util.Date  date,  String  format)  {  
                       String  result  =  "";  
                       try  {  
                                   if  (date  !=  null)  {  
                                               java.text.DateFormat  df  =  new  java.text.SimpleDateFormat(format);  
                                               result  =  df.format(date);  
                                   }  
                       }  catch  (Exception  e)  {  
                       }  
                       return  result;  
           }  
 
           public  static  String  format(java.util.Date  date)  {  
                       return  format(date,  "yyyy/MM/dd");  
           }  
 
           /**  
             *  返回年份  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回年份  
             */  
           public  static  int  getYear(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.get(java.util.Calendar.YEAR);  
           }  
 
           /**  
             *  返回月份  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回月份  
             */  
           public  static  int  getMonth(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.get(java.util.Calendar.MONTH)  +  1;  
           }  
 
           /**  
             *  返回日份  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回日份  
             */  
           public  static  int  getDay(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.get(java.util.Calendar.DAY_OF_MONTH);  
           }  
 
           /**  
             *  返回小时  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回小时  
             */  
           public  static  int  getHour(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.get(java.util.Calendar.HOUR_OF_DAY);  
           }  
 
           /**  
             *  返回分钟  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回分钟  
             */  
           public  static  int  getMinute(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.get(java.util.Calendar.MINUTE);  
           }  
 
           /**  
             *  返回秒钟  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回秒钟  
             */  
           public  static  int  getSecond(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.get(java.util.Calendar.SECOND);  
           }  
 
           /**  
             *  返回毫秒  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回毫秒  
             */  
           public  static  long  getMillis(java.util.Date  date)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       return  c.getTimeInMillis();  
           }  
 
           /**  
             *  返回字符型日期  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回字符型日期  
             */  
           public  static  String  getDate(java.util.Date  date)  {  
                       return  format(date,  "yyyy/MM/dd");  
           }  
 
           /**  
             *  返回字符型时间  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回字符型时间  
             */  
           public  static  String  getTime(java.util.Date  date)  {  
                       return  format(date,  "HH:mm:ss");  
           }  
 
           /**  
             *  返回字符型日期时间  
             *    
             *  @param  date  
             *                        日期  
             *  @return  返回字符型日期时间  
             */  
           public  static  String  getDateTime(java.util.Date  date)  {  
                       return  format(date,  "yyyy/MM/dd  HH:mm:ss");  
           }  
 
           /**  
             *  日期相加  
             *    
             *  @param  date  
             *                        日期  
             *  @param  day  
             *                        天数  
             *  @return  返回相加后的日期  
             */  
           public  static  java.util.Date  addDate(java.util.Date  date,  int  day)  {  
                       java.util.Calendar  c  =  java.util.Calendar.getInstance();  
                       c.setTimeInMillis(getMillis(date)  +  ((long)  day)  *  24  *  3600  *  1000);  
                       return  c.getTime();  
           }  
 
           /**  
             *  日期相减  
             *    
             *  @param  date  
             *                        日期  
             *  @param  date1  
             *                        日期  
             *  @return  返回相减后的日期  
             */  
           public  static  int  diffDate(java.util.Date  date,  java.util.Date  date1)  {  
                       return  (int)  ((getMillis(date)  -  getMillis(date1))  /  (24  *  3600  *  1000));  
           }              
}  
---------------------------------------------------------------  
 
我来个简单点的,也许有点用  
 
Calendar  now  =  Calendar.getInstance();  
int  year  =  now.get(Calendar.YEAR);  
int  date  =  now.get(Calendar.DAY_OF_MONTH);  
int  month  =  now.get(Calendar.MONTH)  +  1;  
int  hour  =  now.get(Calendar.HOUR);  
int  min  =  now.get(Calendar.MINUTE);  
int  sec  =  now.get(Calendar.SECOND);  
---------------------------------------------------------------  
 
在最近的一个OA中,我需要判断两个日期是否是同一周,根据一个给定的日期获得所属周的周一和周五的日期。  
 
在完成以上任务时,我发现Calendar  的确是一个功能强大的class。  
 
Java中的LocalDate类是用来表示日期的类,与java.util.Date类略有不同,它只包含日期,没有时间。可以使用LocalDate类进行各种日期操作。例如,可以使用以下方法获取年份、月份、日期、星期几等信息: - `LocalDate.now().getYear()`:获取当前年份。 - `LocalDate.now().getMonthValue()`:获取当前月份的数值表示,从1开始。 - `LocalDate.now().getMonth()`:获取当前月份的英文表示。 - `LocalDate.now().getDayOfMonth()`:获取当前日期,从1开始。 - `LocalDate.now().getDayOfYear()`:获取当前日期在当年中的第几天,从1开始。 - `LocalDate.now().getDayOfWeek()`:获取当前星期几。 - `LocalDate.now().lengthOfYear()`:获取当年的天数。 - `LocalDate.now().lengthOfMonth()`:获取当月的天数。 - `LocalDate.now().toEpochDay()`:获取当前日期与时间纪元(1970年1月1日)相差的天数,负数表示在时间纪元之前多少天。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Java8时间类LocalDate常用操作](https://blog.csdn.net/weixin_42130889/article/details/114524861)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Java LocalDate](https://blog.csdn.net/qq_43308246/article/details/126142689)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值