JAVA 时间工具类

  1 package com.XXXXX.XXXXXXX.XXXXXXXX;
  2 
  3 import java.sql.Timestamp;
  4 import java.text.DateFormat;
  5 import java.text.ParseException;
  6 import java.text.SimpleDateFormat;
  7 import java.util.Calendar;
  8 import java.util.Date;
  9 import java.util.StringTokenizer;
 10 import java.util.regex.Matcher;
 11 import java.util.regex.Pattern;
 12 
 13 /**
 14  * 日期时间管理类.
 15  * <p>
 16  * Title: CicroDate
 17  * </p>
 18  * <p>
 19  * Description: 日期时间管理
 20  * </p>
 21  * <p>
 22  * Copyright: Copyright (c) 2002
 23  * </p>
 24  * <p>
 25  * Company: Cicro
 26  * </p>
 27  * 
 28  * @author kongxx
 29  * @author Sunyi
 30  * @version 1.3 *
 31  */
 32 
 33 public class DateUtil {
 34     private static final String DATE_PATTERN = "yyyy-MM-dd";
 35     private static final String DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
 36 
 37     /**
 38      * 获取当前系统时间. 默认模板格式yyyy-MM-dd hh:mm:ss.
 39      * 
 40      * @return 当前系统时间
 41      */
 42     public static String getCurrentDateTime() {
 43         return getCurrentDateTime(DATETIME_PATTERN);
 44     }
 45 
 46     /**
 47      * 获取当前系统同期。
 48      * 
 49      * @return 当前系统日期
 50      * @author zhenggz 2003-11-09
 51      */
 52     public static String getCurrentDate() {
 53         return getCurrentDateTime(DATE_PATTERN);
 54     }
 55 
 56     /**
 57      * 获取当前系统时间.
 58      * 
 59      * @param strPattern
 60      *            时间模板
 61      * @return 当前系统时间
 62      */
 63     public static String getCurrentDateTime(String pattern) {
 64         Calendar cal = Calendar.getInstance();
 65         SimpleDateFormat sdf = new SimpleDateFormat(pattern);
 66         return sdf.format(cal.getTime());
 67     }
 68 
 69     /**
 70      * 把字串转化成为Date对象,时间字串格式为2000-01-01 00:00:00
 71      * 
 72      * @param dateString
 73      *            被转化的时间字串,以 yyyy-MM-dd HH:mm:ss 的格式
 74      * @throws ParseException
 75      * */
 76     public static Date getDate(String dateStr) throws ParseException {
 77         return getDate(dateStr, DATETIME_PATTERN);
 78     }
 79 
 80     /**
 81      * 把字串转化成为Date对象,时间字串格式需要设定
 82      * 
 83      * @param dateString
 84      *            被转化的时间字串
 85      * @param pattern
 86      *            时间字串的日期格式,如yyyy-MM-dd
 87      * @throws ParseException
 88      * */
 89     public static Date getDate(String dateStr, String pattern)
 90             throws ParseException {
 91         Date date = null;
 92         SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
 93         date = dateFormat.parse(dateStr);
 94 
 95         return date;
 96     }
 97 
 98     /**
 99      * 取得日期字串
100      * 
101      * @param date
102      *            Date对象
103      * @return 日期字串,格式如:2003-12-02
104      * */
105     public static String getDateString(Date date) {
106         return getString(date, DATE_PATTERN);
107     }
108 
109     /**
110      * 取得日期时间字串
111      * 
112      * @param date
113      *            Date对象
114      * @return 日期时间字串,格式如:2003-12-02 13:10:00
115      * */
116     public static String getDateTimeString(Date date) {
117         return getString(date, DATETIME_PATTERN);
118     }
119 
120     /**
121      * 按照指定格式取得时间字串
122      * 
123      * @param date
124      *            Date对象
125      * @param pattern
126      *            时间字串的日期格式,如yyyy-MM-dd
127      * @return 日期时间字串,格式如:2003-12-02 13:10:00
128      * */
129     public static String getString(Date date, String pattern) {
130         SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
131 
132         return dateFormat.format(date);
133     }
134 
135     /**
136      * 格式化日期字串
137      * 
138      * @param dateStr
139      * @return 格式化后的字串,格式如:2003-12-02
140      * */
141     public static String formatToDateString(String dateStr)
142             throws ParseException {
143         return formatToString(dateStr, DATE_PATTERN);
144     }
145 
146     /**
147      * 格式化日期时间字串
148      * 
149      * @param dateTimeStr
150      * @return String 格式化后的字串,格式如:2003-12-02 12:12:10
151      * */
152     public static String formatToDateTimeString(String dateTimeStr)
153             throws ParseException {
154         return formatToString(dateTimeStr, DATETIME_PATTERN);
155     }
156 
157     /**
158      * 格式化日期时间字串为指定的格式字串
159      * 
160      * @param String
161      *            时间字串
162      * @param String
163      *            时间字串的日期格式,如yyyy-MM-dd
164      * @return String 格式化后的字串,格式如:2003-12-02 12:12:10
165      * */
166     public static String formatToString(String dateStr, String pattern)
167             throws ParseException {
168         dateStr = format(dateStr);
169         Date date = null;
170         if (checkDateString(dateStr)) {
171             date = getDate(dateStr, DATE_PATTERN);
172             return getString(date, pattern);
173         } else if (checkDateTimeString(dateStr)) {
174             date = getDate(dateStr);
175             return getString(date, pattern);
176         } else {
177             throw new ParseException("日期格式不正确", 1);
178         }
179     }
180 
181     /**
182      * 检查日期字串的格式
183      * 
184      * @param String
185      *            时间字串 YYYY-MM-DD
186      * @return boolean true or false
187      * */
188     public static boolean checkDateString(String dateStr) {
189         Pattern pattern = Pattern.compile("\\d{2,4}-\\d{1,2}-\\d{1,2}");
190         Matcher matcher = pattern.matcher(dateStr);
191 
192         return matcher.matches();
193     }
194 
195     /**
196      * 检查日期时间字串的格式
197      * 
198      * @param String
199      *            时间字串 YYYY-MM-DD hh:mm:ss
200      * @return boolean true or false
201      * */
202     public static boolean checkDateTimeString(String dateTimeStr) {
203         Pattern pattern = Pattern
204                 .compile("\\d{2,4}-\\d{1,2}-\\d{1,2}\\s\\d{1,2}:\\d{1,2}:\\d{1,2}");
205         Matcher matcher = pattern.matcher(dateTimeStr);
206 
207         return matcher.matches();
208     }
209 
210     /**
211      * 规范化时间字串
212      * 
213      * @param String
214      *            时间字串
215      * @return String 格式化后的字串,格式如:2003-12-02 12:12:10
216      * */
217     public static String format(String dateStr) {
218         Pattern pattern = Pattern
219                 .compile("\\d{4}-\\d{2}-\\d{2}\\s\\d{2}:\\d{2}:\\d{2}.*");
220         Matcher matcher = pattern.matcher(dateStr);
221         if (matcher.matches()) {
222             dateStr = dateStr.substring(0, 19);
223         } else {
224             pattern = Pattern.compile("\\d{4}-\\d{2}-\\d{2}.*");
225             matcher = pattern.matcher(dateStr);
226             if (matcher.matches()) {
227                 dateStr = dateStr.substring(0, 10);
228             }
229         }
230 
231         return dateStr;
232     }
233 
234     /**
235      * History 2004-08-09 Added by xiecs 增加了根据Date对象获得年,月,日等信息的方法
236      * 获得某天的开始时间和结束时间,获得一周的开始时间和结束时间的方法
237      * 
238      * @param Date
239      *            date 时间对象
240      * @return int 返回这日期的年份 格式如:2010
241      */
242     public static int getYear(Date date) {
243         Calendar calendar = Calendar.getInstance();
244         calendar.setTime(date);
245         int year = calendar.get(Calendar.YEAR);
246         return year;
247     }
248 
249     /**
250      * History 2004-08-09 Added by xiecs 增加了根据Date对象获得年,月,日等信息的方法
251      * 获得某天的开始时间和结束时间,获得一周的开始时间和结束时间的方法
252      * 
253      * @param Date
254      *            date 时间对象
255      * @return int 返回这日期的月份 格式如:11
256      */
257     public static int getMonth(Date date) {
258         Calendar calendar = Calendar.getInstance();
259         calendar.setTime(date);
260         int month = calendar.get(Calendar.MONTH);
261         return month;
262     }
263 
264     /**
265      * History 2004-08-09 Added by xiecs 增加了根据Date对象获得年,月,日等信息的方法
266      * 获得某天的开始时间和结束时间,获得一周的开始时间和结束时间的方法
267      * 
268      * @param Date
269      *            date 时间对象
270      * @return int 返回这日期在当月的第几天 格式如:15
271      */
272     public static int getDayOfMonth(Date date) {
273         Calendar calendar = Calendar.getInstance();
274         calendar.setTime(date);
275         int day = calendar.get(Calendar.DAY_OF_MONTH);
276         return day;
277     }
278 
279     /**
280      * History 2004-08-09 Added by xiecs 增加了根据Date对象获得年,月,日等信息的方法
281      * 获得某天的开始时间和结束时间,获得一周的开始时间和结束时间的方法
282      * 
283      * @param Date
284      *            date 时间对象
285      * @return int 返回这日期在第几周 格式如:52
286      */
287     public static int getDayOfWek(Date date) {
288         Calendar calendar = Calendar.getInstance();
289         calendar.setTime(date);
290         int day = calendar.get(Calendar.DAY_OF_WEEK);
291         return day;
292     }
293 
294     /**
295      * History 2004-08-09 Added by xiecs 增加了根据Date对象获得年,月,日等信息的方法
296      * 获得某天的开始时间和结束时间,获得一周的开始时间和结束时间的方法
297      * 
298      * @param Date
299      *            date 时间对象
300      * @return int 返回这日期的小时 格式如:23
301      */
302     public static int getHour(Date date) {
303         Calendar calendar = Calendar.getInstance();
304         calendar.setTime(date);
305         int hour = calendar.get(Calendar.HOUR_OF_DAY);
306         return hour;
307     }
308 
309     /**
310      * History 2004-08-09 Added by xiecs 增加了根据Date对象获得年,月,日等信息的方法
311      * 获得某天的开始时间和结束时间,获得一周的开始时间和结束时间的方法
312      * 
313      * @param Date
314      *            date 时间对象
315      * @return int 返回这日期的分钟 格式如:59
316      */
317     public static int getMinute(Date date) {
318         Calendar calendar = Calendar.getInstance();
319         calendar.setTime(date);
320         int minute = calendar.get(Calendar.MINUTE);
321         return minute;
322     }
323 
324     /**
325      * History 2004-08-09 Added by xiecs 增加了根据Date对象获得年,月,日等信息的方法
326      * 获得某天的开始时间和结束时间,获得一周的开始时间和结束时间的方法
327      * 
328      * @param Date
329      *            date 时间对象
330      * @return int 返回这日期的秒钟 格式如:40
331      */
332     public static int getSecond(Date date) {
333         Calendar calendar = Calendar.getInstance();
334         calendar.setTime(date);
335         int second = calendar.get(Calendar.SECOND);
336         return second;
337     }
338 
339     /**
340      * 获得某天的开始时间的Date对象,一般用来作比较用
341      * 
342      * @param Date
343      *            date 时间对象
344      * @return Date
345      */
346     public static Date getStartOfDay(Date date) {
347         Date startDate = null;
348         try {
349             startDate = DateUtil.getDate(
350                     DateUtil.getString(date, "yyyy-MM-dd"), "yyyy-MM-dd");
351         } catch (Exception e) {
352             return null;
353         }
354         return startDate;
355     }
356 
357     /**
358      * 获得某天的结束时间的Date对象,一般用来作比较用
359      * 
360      * @param Date
361      *            date 时间对象
362      * @return Date
363      */
364     public static Date getEndOfDay(Date date) {
365         Calendar calendar = Calendar.getInstance();
366         Date endDate = null;
367         try {
368             calendar.set(DateUtil.getYear(date), DateUtil.getMonth(date),
369                     DateUtil.getDayOfMonth(date), 23, 59, 59);
370             endDate = calendar.getTime();
371         } catch (Exception e) {
372             return null;
373         }
374         return endDate;
375     }
376 
377     /**
378      * 获得某天所在的星期的第一天(星期一)的开始时间(0时0分0秒)Date对象,一般用来作比较用
379      * 
380      * @param Date
381      *            date 时间对象
382      * @return Date
383      */
384     public static Date getStartOfWeek(Date date) {
385         Calendar calendar = Calendar.getInstance();
386         calendar.setTime(date);
387         int n = 0;
388         int day = calendar.get(Calendar.DAY_OF_WEEK);
389         switch (day) {
390         case Calendar.MONDAY: {
391             n = 0;
392             break;
393         }
394         case Calendar.TUESDAY: {
395             n = 1;
396             break;
397         }
398         case Calendar.WEDNESDAY: {
399             n = 2;
400             break;
401         }
402         case Calendar.THURSDAY: {
403             n = 3;
404             break;
405         }
406         case Calendar.FRIDAY: {
407             n = 4;
408             break;
409         }
410         case Calendar.SATURDAY: {
411             n = 5;
412             break;
413         }
414         case Calendar.SUNDAY: {
415             n = 6;
416             break;
417         }
418         }
419         Date monday = new Date(date.getTime() - 24 * 60 * 60 * 1000 * n);
420         Date startDate = getStartOfDay(monday);
421         return startDate;
422     }
423 
424     /**
425      * 获得某天所在的星期的最后一天(星期天)的结束时间(23时59分59秒)Date对象,一般用来作比较用
426      * 
427      * @param Date
428      *            date 时间对象
429      * @return Date
430      */
431     public static Date getEndOfWeek(Date date) {
432         Calendar calendar = Calendar.getInstance();
433         calendar.setTime(date);
434         int n = 0;
435         int day = calendar.get(Calendar.DAY_OF_WEEK);
436         switch (day) {
437         case Calendar.MONDAY: {
438             n = 6;
439             break;
440         }
441         case Calendar.TUESDAY: {
442             n = 5;
443             break;
444         }
445         case Calendar.WEDNESDAY: {
446             n = 4;
447             break;
448         }
449         case Calendar.THURSDAY: {
450             n = 3;
451             break;
452         }
453         case Calendar.FRIDAY: {
454             n = 2;
455             break;
456         }
457         case Calendar.SATURDAY: {
458             n = 1;
459             break;
460         }
461         case Calendar.SUNDAY: {
462             n = 0;
463             break;
464         }
465         }
466         Date sunday = new Date(date.getTime() + 24 * 60 * 60 * 1000 * n);
467         Date startDate = getEndOfDay(sunday);
468         return startDate;
469     }
470 
471     /**
472      * 判断两个日期之间相差的天数
473      * 
474      * @param String
475      *            day1 时间1 2010-01-03
476      * @param String
477      *            day1 时间2 2010-01-05
478      * @return long 相差天数
479      */
480     public static long daysOf2Day(String day1, String day2) {
481         try {
482             day1 += " 00:00:00";
483             day2 += " 00:00:00";
484             long secs = secsOf2Day(day1, day2);
485             return secs / (24 * 60 * 60);
486         } catch (Exception e) {
487             return -1;
488         }
489     }
490 
491     /**
492      * 判断两个时间之间相差的天数
493      * 
494      * @param String
495      *            day1 时间1 2010-01-03 00:00:00
496      * @param String
497      *            day1 时间2 2010-01-05 10:25:44
498      * @return long 相差天数
499      */
500     public static long secsOf2Day(String day1, String day2) {
501         try {
502             Date date1 = getDate(day1);
503             Date date2 = getDate(day2);
504             long secs = Math.abs(date1.getTime() - date2.getTime()) / 1000;
505             return secs;
506         } catch (Exception e) {
507             return -1;
508         }
509     }
510 
511     /**
512      * 获得到当前时间为止的天数,不足一天按一天计.
513      * 
514      * @param strDateTime
515      *            'yyyy-mm-dd hh:mm:ss'
516      * @return 天数
517      */
518     public static String getDaysToNow(String strDateTime) {
519         try {
520             StringTokenizer strToken = new StringTokenizer(strDateTime, " ");
521             StringTokenizer strTokenDate = new StringTokenizer(
522                     strToken.nextToken(), "-");
523             StringTokenizer strTokenTime = new StringTokenizer(
524                     strToken.nextToken(), ":");
525             int intYear = Integer.parseInt(strTokenDate.nextToken());
526             int intMonth = Integer.parseInt(strTokenDate.nextToken()) - 1;
527             int intDay = Integer.parseInt(strTokenDate.nextToken());
528             int intHour = Integer.parseInt(strTokenTime.nextToken());
529             int intMin = Integer.parseInt(strTokenTime.nextToken());
530             int intSec = Integer.parseInt(strTokenTime.nextToken());
531 
532             Calendar cal = Calendar.getInstance();
533             cal.set(intYear, intMonth, intDay, intHour, intMin, intSec);
534             long longDays = (new Date().getTime() - cal.getTimeInMillis()) / 24
535                     / 60 / 60 / 1000;
536             longDays = longDays == 0 ? 1 : longDays;
537 
538             return "" + longDays;
539         } catch (Exception e) {
540             return "0";
541         }
542     }
543 
544     /**
545      * 比较两个时间的差值
546      * 
547      * @param date1
548      *            yyyy-MM-dd HH:mm:ss
549      * @param date2
550      *            yyyy-MM-dd HH:mm:ss
551      * @return int 小时
552      */
553     public static long compareDatetime(String date1, String date2) {
554         DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
555         long timestamp1 = -1;
556         long timestamp2 = -1;
557         // 先将时间格式转换成Timestamp
558         try {
559             timestamp1 = df.parse(date1).getTime() / 1000;
560             timestamp2 = df.parse(date2).getTime() / 1000;
561         } catch (ParseException e) {
562             System.out.println("时间格式 [ " + date1 + " ] 或 [ " + date2
563                     + " ] 无法被解析");
564             return -1;
565         }
566         if (timestamp1 > timestamp2)
567             return (timestamp1 - timestamp2) / 3600;
568         else
569             return (timestamp2 - timestamp1) / 3600;
570 
571     }
572 
573     /**
574      * 得到某个数值之后的时间
575      * 
576      * @param String
577      *            yyyy-MM-dd HH:mm:ss
578      * @param int 整数
579      * @return String yyyy-MM-dd HH:mm:ss
580      */
581     public static Date getDateTimesAfter(String datetimes, int day) {
582         Calendar now = Calendar.getInstance();
583         try {
584             now.setTime(getDate(datetimes, DATETIME_PATTERN));
585         } catch (ParseException e) {
586             System.out.println("时间格式 [ " + datetimes + " ]  无法被解析");
587             return null;
588         }
589         now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
590         return now.getTime();
591     }
592 
593     /**
594      * 得到某个数值之后的时间
595      * 
596      * @param String
597      *            yyyy-MM-dd HH:mm:ss or yyyy-MM-dd
598      * @param int 整数
599      * @return String yyyy-MM-dd
600      */
601     public static Date getDateAfter(String datetimes, int day) {
602         Calendar now = Calendar.getInstance();
603         try {
604             now.setTime(getDate(datetimes, DATE_PATTERN));
605         } catch (ParseException e) {
606             System.out.println("时间格式 [ " + datetimes + " ]  无法被解析");
607             return null;
608         }
609         now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
610         return now.getTime();
611     }
612 
613     /**
614      * 得到某个数值之前的日期
615      * 
616      * @param String
617      *            yyyy-MM-dd HH:mm:ss or yyyy-MM-dd
618      * @param int 整数
619      * @return String yyyy-MM-dd
620      */
621     public static String getDateBefore(String datetimes, int day) {
622         Calendar now = Calendar.getInstance();
623         try {
624             now.setTime(getDate(datetimes, DATE_PATTERN));
625         } catch (ParseException e) {
626             System.out.println("时间格式 [ " + datetimes + " ]  无法被解析");
627             return null;
628         }
629         now.set(Calendar.DATE, now.get(Calendar.DATE) - day);
630         return getString(now.getTime(), "yyyy-MM-dd");
631     }
632 
633     /**
634      * 将某个时间的Timestamp转换成Datetime
635      * 
636      * @param long 时间数值
637      * @param String
638      *            时间格式 yyyy-MM-dd hh:mm:ss
639      * @return String yyyy-MM-dd hh:mm:ss
640      */
641     public static String timestampToDate(long timestamp, String format) {
642         Date date = new Timestamp(timestamp);
643         DateFormat df = new SimpleDateFormat(format);
644         return df.format(date);
645     }
646 
647     /**
648      * 得到当前时间的数值
649      * 
650      * @return String yyyy-MM-dd hh:mm:ss
651      */
652     public static long dateToTimestamp() {
653         long ts = System.currentTimeMillis();
654         return ts;
655     }
656 
657     /**
658      * 得到指定时间之后的时间
659      * 
660      * @param String
661      *            time
662      * @param int num
663      * @return String yyyy-MM-dd hh:mm:ss
664      */
665     public static String getDateTimeAfter(String times, int num) {
666         if (times == null || "".equals(times))
667             times = getCurrentDateTime();
668 
669         long tl = dateToTimestamp(times) + num * 1000;
670         return timestampToDate(tl, "yyyy-MM-dd HH:mm:ss");
671     }
672 
673     /**
674      * 将某个时间的Datetime转换成Timestamp
675      * 
676      * @param dateFormat
677      *            yyyy-MM-dd HH:mm:ss
678      * @return long
679      */
680     public static long dateToTimestamp(String dateFormat) {
681         long timestamp = -1;
682         try {
683             DateFormat df = new SimpleDateFormat(DATETIME_PATTERN);
684             Date date = df.parse(dateFormat);
685             timestamp = date.getTime();
686         } catch (Exception e) {
687             System.out.println("时间格式 [ " + dateFormat + " ] 无法被解析");
688         }
689         return timestamp;
690     }
691 
692     public static long compareDatetime2(String date1, String date2) {
693         DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
694         long timestamp1 = -1;
695         long timestamp2 = -1;
696         // 先将时间格式转换成Timestamp
697         try {
698             timestamp1 = df.parse(date1).getTime();
699             timestamp2 = df.parse(date2).getTime();
700         } catch (ParseException e) {
701             System.out.println("时间格式 [ " + date1 + " ] 或 [ " + date2
702                     + " ] 无法被解析");
703             return -1;
704         }
705         if (timestamp1 > timestamp2)
706             return (timestamp1 - timestamp2);
707         else
708             return (timestamp2 - timestamp1);
709 
710     }
711 
712     // 对比两个日期大小
713     public static boolean compare_date(String DATE1, String DATE2) {
714         DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
715         try {
716             Date dt1 = df.parse(DATE1);
717             Date dt2 = df.parse(DATE2);
718             if (dt1.getTime() > dt2.getTime()) {
719                 // System.out.println("dt1 在dt2前");
720                 return false;
721             } else if (dt1.getTime() < dt2.getTime()) {
722                 // System.out.println("dt1在dt2后");
723                 return true;
724             } else {
725                 return true;
726             }
727         } catch (Exception exception) {
728             exception.printStackTrace();
729         }
730         return true;
731     }
732 
733     public static void main(String[] args) throws Exception {
734         // System.out.println(getDaysToNow("2010-01-10 00:00:00"));
735         // System.out.println(compare_date("2011-05-16 17:50:50","2011-05-16 17:50:55"));
736         // System.out.println(getDateTimesAfter("2010-01-10 12:00:00",-5));
737         // System.out.println(getDateAfter("2010-01-10",-5));
738         // System.out.println(timestampToDate(1262575579707L,"yyyy-MM-dd HH:mm:ss"));
739         System.out.println(compareDatetime("2012-02-02 17:36:46:673",
740                 "2012-02-03 18:47:37:392"));
741 
742         // "2010-01-20 17:58:37:319","2010-01-20 18:44:32:592" ibatis + bonecp
743         // 27ss
744         // "2010-01-21 14:51:49:307","2010-01-21 15:47:45:794" hib + c3p0 33ss
745         // "2010-01-21 17:36:46:673","2010-01-21 18:47:37:392" ibatis + c3p0
746         // 42ss
747 
748         // System.out.println(dateToTimestamp());
749         // System.out.println(timestampToDate(1268231397000L-120000,"yyyy-MM-dd HH:mm:ss"));
750 
751         System.out.println(DateUtil.getDateString(getDateAfter(
752                 "2012-02-02 17:36:46", 30)));
753     }
754 }

 

posted @ 2015-08-21 08:01  逍遥散人95  阅读(331)  评论(0编辑  收藏  举报