DateUtil时间工具类

  1 package utils;
  2 
  3 import java.text.ParseException;
  4 import java.text.SimpleDateFormat;
  5 import java.util.Calendar;
  6 import java.util.Date;
  7 import java.util.GregorianCalendar;
  8 
  9 public final class DateUtil{
 10 
 11 /** 默认的年月日 */
 12 public static final String defaultPattern = "yyyy-MM-dd";
 13 
 14 /** hour12HMSPattern年月日 时分秒 12小时制*/
 15 public static final String hour12HMSPattern = "yyyy-MM-dd hh:mm:ss";
 16 
 17 /** hour12HMPattern年月日 时分 12小时制*/
 18 public static final String hour12HMPattern = "yyyy-MM-dd hh:mm";
 19 
 20 /** hour12HPattern年月日 时 12小时制*/
 21 public static final String hour12HPattern = "yyyy-MM-dd hh";
 22 
 23 /** hour24HMSPattern年月日 时分秒 24小时制 */
 24 public static final String hour24HMSPattern = "yyyy-MM-dd HH:mm:ss";
 25 
 26 /** hour24HMPattern年月日 时分 24小时制*/
 27 public static final String hour24HMPattern = "yyyy-MM-dd HH:mm";
 28 
 29 /** hour24HPattern年月日 时 24小时制*/
 30 public static final String hour24HPattern = "yyyy-MM-dd HH";
 31 
 32 public static String daysBetween(Date startDate, Date endDate) { 
 33 float d = endDate.getTime() - startDate.getTime();
 34 float dd = d / 86400000f;
 35 int ddd = (int)dd;
 36 
 37 float hh = (dd - ddd) * 24;
 38 int hhh = (int)hh;
 39 
 40 float mm = (hh - hhh) * 60;
 41 int mmm = (int)mm;
 42 
 43 float ss = (mm - mmm) * 60;
 44 int sss = (int)ss;
 45 return ddd + "天" + hhh + "小时" + mmm + "分" + sss + "秒";
 46 } 
 47 
 48 /**
 49 * 返回预设Format的当前日期字符串
 50 */
 51 public static String getToday() {
 52 Date today = new Date();
 53 return format(today);
 54 }
 55 
 56 public static String getYestoday() {
 57 Calendar cal1 = Calendar.getInstance();
 58 cal1.setTime(new Date());
 59 cal1.add(Calendar.DATE, -1);
 60 return format(cal1.getTime());
 61 }
 62 
 63 public static String getTheDayBeforeYestoday() {
 64 Calendar cal1 = Calendar.getInstance();
 65 cal1.setTime(new Date());
 66 cal1.add(Calendar.DATE, -2);
 67 return format(cal1.getTime());
 68 }
 69 
 70 public static String getPreviousDay3() {
 71 Calendar cal1 = Calendar.getInstance();
 72 cal1.setTime(new Date());
 73 cal1.add(Calendar.DATE, -3);
 74 return format(cal1.getTime());
 75 }
 76 
 77 public static String getPreviousDay4() {
 78 Calendar cal1 = Calendar.getInstance();
 79 cal1.setTime(new Date());
 80 cal1.add(Calendar.DATE, -4);
 81 return format(cal1.getTime());
 82 }
 83 
 84 /**
 85 * 用预设Format格式化Date成字符串
 86 */
 87 public static String format(Date date) {
 88 return format(date, defaultPattern);
 89 }
 90 
 91 /**
 92 * 使用参数Format格式化Date成字符串
 93 */
 94 public static String format(Date date, String pattern) {
 95 String returnValue = "";
 96 
 97 if (date != null) {
 98 SimpleDateFormat df = new SimpleDateFormat(pattern);
 99 returnValue = df.format(date);
100 }
101 
102 return (returnValue);
103 }
104 
105 /**
106 * 使用预设格式将字符串转为Date
107 */
108 public static Date parse(String strDate) throws ParseException {
109 return parse(strDate, defaultPattern);
110 }
111 
112 public static Date parse(String strDate, String pattern)
113 throws ParseException {
114 SimpleDateFormat df = new SimpleDateFormat(pattern);
115 return df.parse(strDate);
116 }
117 
118 /**
119 * 在日期上增加数个整月
120 */
121 public static Date addMonth(Date date, int n) {
122 Calendar cal = Calendar.getInstance();
123 cal.setTime(date);
124 cal.add(Calendar.MONTH, n);
125 return cal.getTime();
126 }
127 
128 /**
129 * 在日期上增加日
130 */
131 public static Date addDay(Date date, int n) {
132 Calendar cal = Calendar.getInstance();
133 cal.setTime(date);
134 cal.add(Calendar.DATE, n);
135 return cal.getTime();
136 }
137 
138 public static String formatDateTime(Date date) {
139 SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
140 return outFormat.format(date);
141 }
142 
143 @SuppressWarnings("static-access")
144 public static String getEndOfMonth(String year, String month) {
145 Calendar cal = Calendar.getInstance();
146 cal.set(cal.YEAR, Integer.parseInt(year));
147 cal.set(cal.MONTH, Integer.parseInt(month) - 1);
148 return cal.getActualMaximum(cal.DAY_OF_MONTH) + "";
149 }
150 
151 public static String addDays(String sdate, int n) throws ParseException
152 {
153 Calendar cal1 = Calendar.getInstance();
154 cal1.setTime(parse(sdate, defaultPattern));
155 cal1.add(Calendar.DATE, n);
156 return format(cal1.getTime());
157 
158 }
159 
160 public static String getFirstOfMonth() throws ParseException {
161 Calendar cal1 = Calendar.getInstance();
162 cal1.setTime(new Date());
163 cal1.set(5, 1);
164 return format(cal1.getTime());
165 
166 }
167 
168 public static String getFirstOfMonth(String sDate) throws ParseException {
169 Calendar cal1 = Calendar.getInstance();
170 cal1.setTime(parse(sDate, defaultPattern));
171 cal1.set(5, 1);
172 return format(cal1.getTime());
173 
174 }
175 
176 /**
177 * 获取年
178 * 
179 * @param sdate
180 * @return String
181 */
182 public static String getYear(String sdate) {
183 String[] date = sdate.split("-");
184 return date[0];
185 }
186 
187 /**
188 * 获取月
189 * 
190 * @param sdate
191 * @return String
192 */
193 public static String getMonth(String sdate) {
194 String[] date = sdate.split("-");
195 return date[1];
196 }
197 
198 public static String getCurrentYear() {
199 Calendar cale = Calendar.getInstance();
200 return Integer.toString(cale.get(Calendar.YEAR));
201 }
202 
203 public static String getCurrentMonth() {
204 Calendar cale = Calendar.getInstance();
205 int month = cale.get(Calendar.MONTH);
206 month++;
207 String sMonth = Integer.toString(month);
208 if (month < 10)
209 sMonth = "0" + month;
210 return sMonth;
211 }
212 
213 /**
214 * 获取天
215 * 
216 * @param sdate
217 * @return String
218 */
219 public static String getDay(String sdate) {
220 String[] date = sdate.split("-");
221 return date[2];
222 }
223 
224 public static String getFullDate(String date) {
225 if (date != null && date.length() == 1)
226 return "0" + date;
227 return date;
228 }
229 
230 public static String getSimpleDateString(String sdate) {
231 return sdate.replace("-", "");
232 }
233 
234 //把日期从字符弄转成日期型
235 public static Date convertStringToDate(String pattern, String strDate)
236 throws ParseException {
237 Date aDate = null;
238 aDate = parse(strDate, pattern);
239 return aDate;
240 }
241 
242 //根据指定格式得到当前日期的字符串
243 public static String getTodayDate(String aMask){
244 Date date = new Date();
245 return getDateTime(aMask,date);
246 }
247 
248 //根据指定格式得到指定日期的字符串
249 public static String getDateTime(String aMask, Date aDate) {
250 SimpleDateFormat df = null;
251 String returnValue = "";
252 df = new SimpleDateFormat(aMask);
253 returnValue = df.format(aDate);
254 return (returnValue);
255 }
256 
257 public static int getYear() { 
258 Calendar c = Calendar.getInstance(); 
259 int yy = c.get(Calendar.YEAR); 
260 return yy; 
261 }
262 
263 public static int getMonth() { 
264 Calendar c = Calendar.getInstance(); 
265 int month = c.get(Calendar.MONTH); 
266 return month+1; 
267 } 
268 
269 public static int getDate() { 
270 Calendar c = Calendar.getInstance(); 
271 int date = c.get(Calendar.DATE); 
272 return date; 
273 }
274 
275 public static int getHour() { 
276 Calendar c = Calendar.getInstance(); 
277 int hour = c.get(Calendar.HOUR_OF_DAY); 
278 return hour; 
279 }
280 
281 public static int getSecond() { 
282 Calendar c = Calendar.getInstance(); 
283 int second = c.get(Calendar.SECOND); 
284 return second; 
285 }
286 
287 public static int getMinute() { 
288 Calendar c = Calendar.getInstance(); 
289 int minute = c.get(Calendar.MINUTE); 
290 return minute; 
291 } 
292 
293 public static String getCurDateTime() {
294 return getCurDate() + " " + getCurTime();
295 }
296 
297 public static String getCurDate() {
298 String fullDate = getCurYearMonth();
299 int temp = getDate();
300 if(temp < 10){
301 fullDate += "-0" + temp;
302 }else{
303 fullDate += "-" + temp;
304 }
305 return fullDate;
306 }
307 
308 public static String getCurYearMonth() {
309 String fullDate = String.valueOf(getYear());
310 int temp = getMonth();
311 if(temp < 10){
312 fullDate += "-0" + temp;
313 }else{
314 fullDate += "-" + temp;
315 }
316 return fullDate;
317 }
318 
319 public static String getCurTime() {
320 String time = getCurHourMinute();
321 int temp = getSecond();
322 if(temp < 10){
323 time += ":0" + temp;
324 }else{
325 time += ":" + temp;
326 }
327 return time;
328 }
329 
330 public static String getCurHourMinute() {
331 String time;
332 int temp = getHour();
333 if(temp < 10){
334 time = "0" + temp + ":";
335 }else{
336 time = temp + ":";
337 }
338 temp = getMinute();
339 if(temp < 10){
340 time += "0" + temp;
341 }else{
342 time += temp;
343 }
344 return time;
345 }
346 /**
347 * 
348 * @Description: 获取当前时间
349 * @param @return 
350 * @return StringBuffer 
351 * @throws
352 * @author ningpeng
353 * @date 2016年1月8日
354 */
355 public static StringBuffer getNow()
356 {
357 Date date = new Date();
358 Calendar c = new GregorianCalendar();
359 c.setTime(date);
360 int year = c.get(Calendar.YEAR);
361 int month = c.get(Calendar.MONTH)+1;
362 int day = c.get(Calendar.DATE);
363 int hour = c.get(Calendar.HOUR_OF_DAY);
364 int minute = c.get(Calendar.MINUTE);
365 int seconds = c.get(Calendar.SECOND);
366 StringBuffer buff = new StringBuffer();
367 buff.append(year).append(month).append(day).append(hour).append(minute).append(seconds).toString();
368 return buff;
369 }
370 
371 public static String DateFormat(Date date) {
372 Calendar c=Calendar.getInstance();
373 c.setTime(date); 
374 c.get(java.util.Calendar.HOUR_OF_DAY);
375 String pattern="yyyy-MM-dd";
376 if(c.get(java.util.Calendar.HOUR_OF_DAY)!=0){
377 pattern="yyyy-MM-dd hh";
378 }else if(c.get(java.util.Calendar.MINUTE)!=0){
379 pattern="yyyy-MM-dd hh:mm";    
380 }else if(c.get(java.util.Calendar.SECOND)!=0){
381 pattern="yyyy-MM-dd hh:mm:ss";
382 }
383 return new SimpleDateFormat(pattern).format(date);
384 }
385 
386 public static void main(String[] args){
387 System.out.println(getMonth());
388 }
389 }

 

posted @ 2018-01-10 14:05  薄焦尾  阅读(753)  评论(0编辑  收藏  举报