1. 程式人生 > >java工具包一:日期處理

java工具包一:日期處理

div 方便 開始 .text simple nor atd blog param

作者:NiceCui

  • 本文謝絕轉載,如需轉載需征得作者本人同意,謝謝。
  • 本文鏈接:http://www.cnblogs.com/NiceCui/p/7846812.html
  • 郵箱:[email protected]
  • 日期:2017-11-16

平時寫代碼有時會常用到一些處理日期的邏輯,自己寫了一個工具包,方便每次處理

  1 import java.text.ParseException;
  2 import java.text.SimpleDateFormat;
  3 import java.util.Date;
  4 import org.junit.Test;
5 6 /** 7 * 8 * @author NiceCui 9 * @date 2017-11-14 10 * @cnblog 地址:http://www.cnblogs.com/NiceCui/ 11 * 12 */ 13 public class DateTool { 14 15 16 17 /** 18 * 講字符串格式的日期 轉換成 自定義的 日期格式 返回Date類型 19 * @param String date 20 * @param
String format 21 * @return Date 22 */ 23 public static Date getDate(String date, String format) { 24 if(date==null) return null; 25 java.text.DateFormat formatdatetime = new java.text.SimpleDateFormat(format); 26 try { 27 return formatdatetime.parse(date);
28 } catch (ParseException e) { 29 e.printStackTrace(); 30 } 31 return null; 32 } 33 /** 34 * 講Date類型的日期 轉換成 String 字符串形式的 35 * @param date 36 * @return String 37 */ 38 public static String getTimeStr(Date date) { 39 if(date==null) return null; 40 java.text.DateFormat formatdatetime = new java.text.SimpleDateFormat("yyyy-MM-dd HH-mm-ss"); 41 return formatdatetime.format(date); 42 } 43 /** 44 * 比較兩個 Date類型的 日期 是否是一樣的 45 * @param Date day1 46 * @param Date day2 47 * @return boolean 48 */ 49 public static boolean isSameDay(Date day1, Date day2) { 50 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 51 String ds1 = dateFormat.format(day1); 52 String ds2 = dateFormat.format(day2); 53 if (ds1.equals(ds2)) { 54 return true; 55 } else { 56 return false; 57 } 58 } 59 /** 60 * 返回開始日期 和 結束日期直接間隔的天數 返回的int類型 單位是 天 61 * @param Date start 62 * @param Date end 63 * @return int 64 */ 65 public static int getDays(Date start, Date end) 66 { 67 Date normStart = Common.getDateBegin(start); 68 Date normEnd = Common.getDateBegin(end); 69 int days = (int) ((normEnd.getTime() - normStart.getTime())/(1000L*24*3600)); 70 71 return days; 72 } 73 /** 74 * 講字符串形式的日期 返回 固定格式 年月日形式的Date形式的 日期 75 * @param String datestr 76 * @return Date 77 */ 78 public static Date getDateStr(String datestr) 79 { 80 java.text.DateFormat formatdatetime = new java.text.SimpleDateFormat("yyyy-MM-dd"); 81 try { 82 return formatdatetime.parse(datestr); 83 } catch (ParseException e) { 84 e.printStackTrace(); 85 return null; 86 } 87 } 88 /** 89 * 返回 String 類型的 年 90 * @param date 91 * @return 92 */ 93 public static String getYearStr(Date date) 94 { 95 java.text.DateFormat formatdatetime = new java.text.SimpleDateFormat("yyyy"); 96 return formatdatetime.format(date); 97 } 98 /** 99 * 返回 int 類型 的年 100 * @param date 101 * @return 102 */ 103 public static int getYear(Date date) 104 { 105 java.text.DateFormat formatdatetime = new java.text.SimpleDateFormat("yyyy"); 106 return Integer.parseInt(formatdatetime.format(date)); 107 } 108 /** 109 * 返回int類型的月 110 * @param date 111 * @return 112 */ 113 public static int getMonth(Date date) 114 { 115 java.text.DateFormat formatdatetime = new java.text.SimpleDateFormat("MM"); 116 return Integer.parseInt(formatdatetime.format(date)); 117 } 118 119 /** 120 * "Tue May 17 10:26:26 CST 2011 由date.toString()得到 像這樣的日期如何格式化?": 121 String dstr = "Tue May 17 10:26:26 CST 2011"; 122 SimpleDateFormat formatter = new SimpleDateFormat("EEEE MMM dd HH:mm:ss Z yyyy"); 123 Date d = formatter.parse(dstr); 124 * @return 125 */ 126 public static Date parseDateStr(String dstr){ 127 Date d = null; 128 SimpleDateFormat formatter = new SimpleDateFormat("EEEE MMM dd HH:mm:ss Z yyyy"); 129 try { 130 d = formatter.parse(dstr); 131 } catch (ParseException e) { 132 formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 133 try { 134 d = formatter.parse(dstr); 135 } catch (Exception e2) { 136 // TODO: handle exception 137 } 138 } 139 return d; 140 } 141 142 143 @Test 144 public void test() { 145 String startTime = "2017-11-16"; 146 Date time = Common.getDate(startTime+" 00:00:00","yyyy-MM-dd HH:mm:ss"); 147 SimpleDateFormat fomat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 148 System.out.println(fomat.format(time)); 149 150 Date date = new Date(); 151 Date date1 = new Date(); 152 System.out.println(isSameDay(date,date1)); 153 154 System.out.println(parseDateStr(startTime)); 155 } 156 157 }

java工具包一:日期處理