With this date tools, so that the conversion date no longer worry

Presumably programmers in the development process, the date of the conversion experience is certainly unavoidable. It makes endless love and hate, and some they can not remember, each encounter had asked the degree of your mother. I recently also true in the development process.

In order to make yourself better memory, to facilitate future date encountered type of conversion related development. So we made the proper order, write a date tools, including access to today's date, the date yesterday, transformation, etc. between dates, date and relevant tomorrow string conversion. I hope this date tools, you can improve the efficiency of the development of the date of conversion.

Date Tools: DateTools.java

package com.hrg;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
 * 日期工具类
 * @author 格姗知识圈
 */
public class DateTools {

      /**
        * 日期转化为指定日期格式类型
        * @param date 日期
        * @param pattern 日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日 HH:mm:ss
        * @return
        */
       public static String dateToString(Date date,String pattern){
           SimpleDateFormat sdf = new SimpleDateFormat(pattern);//日期格式
           String date_str = sdf.format(date);//日期转化为指定格式
           return date_str;
       }
    
       /**
        * 日期字符串转化为指定日期格式类型
        * @param date_str 日期字符串
        * @param pattern 日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日 HH:mm:ss
        * @return
        * @throws ParseException
        */
       public static Date stringToDate(String date_str,String pattern) throws ParseException {
           SimpleDateFormat sdf = new SimpleDateFormat(pattern);//日期格式
           Date date = sdf.parse(date_str);//日期转化为指定格式
           return date;
       }
    
       /**
        * 获得今天日期
        * @param pattern 日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日 HH:mm:ss
        * @return
        */
       public static String getToday(String pattern){
           Date date = new Date();//今天日期
           SimpleDateFormat sdf = new SimpleDateFormat(pattern);//日期格式
           String today = sdf.format(date);//日期转化为指定格式
           return today;
       }
    
       /**
        * 获得明天日期
        * @param pattern 日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日 HH:mm:ss
        * @return
        */
       public static String getTomorrow(String pattern){
           Date date = new Date();//今天日期
           Calendar cal = new GregorianCalendar();
           cal.setTime(date);//设置时间
           cal.add(Calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动
           date = cal.getTime();//这个时间就是日期往后推一天的日期结果,即明天日期
           SimpleDateFormat sdf = new SimpleDateFormat(pattern);//日期格式
           String tommorrow = sdf.format(date);//明天日期
           return tommorrow;
       }
    
       /**
        * 获得昨天日期
        * @param pattern 日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日 HH:mm:ss
        * @return
        */
       public static String getYesterday(String pattern){
           Date date = new Date();//今天日期
           Calendar cal = new GregorianCalendar();
           cal.setTime(date);//设置时间
           cal.add(Calendar.DATE,-1);//把日期往后增加一天.整数往后推,负数往前移动
           date = cal.getTime();//这个时间就是日期往前推一天的日期结果,即昨天日期
           SimpleDateFormat sdf = new SimpleDateFormat(pattern);//日期格式
           String yesterday = sdf.format(date);//昨天日期
           return yesterday;
       }
    
       /**
        * 获得指定日期的后一天
        * @param date 指定日期
        * @param pattern 日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日 HH:mm:ss
        * @return
        * @throws ParseException
        */
       public static Date getAfterDay(Date date,String pattern) throws ParseException {
           Calendar cal = new GregorianCalendar();
           cal.setTime(date);//设置时间
           cal.add(Calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动
           date = cal.getTime();//这个时间就是日期往后推一天的日期结果,即后一天日期
           SimpleDateFormat sdf = new SimpleDateFormat(pattern);//日期格式
           String next_date_str = sdf.format(date);//后一天日期
           //将日期字符串转化为指定日期格式类型
           Date after_date =  stringToDate(next_date_str,pattern);
           return after_date;
       }
    
       /**
        * 获得指定日期的后一天
        * @param date_str 指定日期字符串
        * @param pattern 日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日 HH:mm:ss
        * @return
        * @throws ParseException
        */
       public static String getAfterDay(String date_str,String pattern) throws ParseException {
           //将日期字符串转化为指定日期格式类型
           Date date = stringToDate(date_str,pattern);
           Calendar cal = new GregorianCalendar();
           cal.setTime(date);//设置时间
           cal.add(Calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动
           date = cal.getTime();//这个时间就是日期往后推一天的日期结果,即后一天日期
           SimpleDateFormat sdf = new SimpleDateFormat(pattern);//日期格式
           String after_date_str = sdf.format(date);//后一天日期
           return after_date_str;
       }
    
       /**
        * 获得指定日期的前一天
        * @param date 指定日期
        * @param pattern 日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日 HH:mm:ss
        * @return
        * @throws ParseException
        */
       public static Date getBeforetDay(Date date,String pattern) throws ParseException {
           Calendar cal = new GregorianCalendar();
           cal.setTime(date);//设置时间
           cal.add(Calendar.DATE,-1);//把日期往后增加一天.整数往后推,负数往前移动
           date = cal.getTime();//这个时间就是日期往后推一天的日期结果,即前一天日期
           SimpleDateFormat sdf = new SimpleDateFormat(pattern);//日期格式
           String before_date_str = sdf.format(date);//前一天日期
           //将日期字符串转化为指定日期格式类型
           Date before_date =  stringToDate(before_date_str,pattern);
           return before_date;
       }
    
       /**
        * 获得指定日期的前一天
        * @param date_str 指定日期字符串
        * @param pattern 日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日 HH:mm:ss
        * @return
        * @throws ParseException
        */
       public static String getBreforeDay(String date_str,String pattern) throws ParseException {
           //将日期字符串转化为指定日期格式类型
           Date date = stringToDate(date_str,pattern);
           Calendar cal = new GregorianCalendar();
           cal.setTime(date);//设置时间
           cal.add(Calendar.DATE,-1);//把日期往后增加一天.整数往后推,负数往前移动
           date = cal.getTime();//这个时间就是日期往后推一天的日期结果,即前一天日期
           SimpleDateFormat sdf = new SimpleDateFormat(pattern);//日期格式
           String before_date_str = sdf.format(date);//前一天日期
           return before_date_str;
       }
}

Test categories: Test.java

package com.hrg;

import java.text.ParseException;

/**
 * 测试类
 * @author 格姗知识圈
 */
public class Test {

   public static void main(String[] args) throws ParseException {

       //日期格式类型
       String pattern = "yyyy-MM-dd";
    
       //获得今天日期
       System.out.println("---------获得今天日期---------");
       String today = DateTools.getToday(pattern);
       System.out.println("今天日期:"+today);
    
       //获得明天日期
       System.out.println("---------获得明天日期---------");
       String tomorrow = DateTools.getTomorrow(pattern);
       System.out.println("明天日期:"+tomorrow);
    
       //获得昨天日期
       System.out.println("---------获得昨天日期---------");
       String yesterday = DateTools.getYesterday(pattern);
       System.out.println("昨天日期:"+yesterday);
    
       //获得指定日期的后一天
       System.out.println("---------获得指定日期的后一天---------");
       String date_str = "2018-10-03";
       System.out.println("指定日期:"+date_str);
       String after_date = DateTools.getAfterDay(date_str,pattern);
       System.out.println("指定日期的后一天:"+after_date);
    
       //获得指定日期的后一天
       System.out.println("---------获得指定日期的前一天---------");
       System.out.println("指定日期:"+date_str);
       String before_date = DateTools.getBreforeDay(date_str,pattern);
       System.out.println("指定日期的前一天:"+before_date);
   }
}

operation result:

---------获得今天日期---------
今天日期:2018-11-20
---------获得明天日期---------
明天日期:2018-11-21
---------获得昨天日期---------
昨天日期:2018-11-19
---------获得指定日期的后一天---------
指定日期:2018-10-03
指定日期的后一天:2018-10-04
---------获得指定日期的前一天---------
指定日期:2018-10-03
指定日期的前一天:2018-10-02

After you read, I believe the date of the conversion have a better understanding. Of course, there are portions of the code is redundant, mainly to make it easier for everyone to understand clearly. After you read to understand, we can make the appropriate modifications based on business needs.

Guess you like

Origin www.cnblogs.com/geshanzsq/p/11106291.html