java 日期操作辅助类
时间:2010-10-04 来源:幽哥
FormatDate.java
view sourceprint?
| 01 | package com.ucit.ca.webApp.tool; |
| 02 |
| 03 | import java.util.*; |
| 04 | import java.text.*; |
| 05 |
| 06 | public class FormatDate { |
| 07 |
| 08 | public FormatDate() { |
| 09 | } |
| 10 |
| 11 | // 格式化日期为字符串 "yyyy-MM-dd hh:mm" |
| 12 | public String formatDateTime(Date basicDate, String strFormat) { |
| 13 | SimpleDateFormat df = new SimpleDateFormat(strFormat); |
| 14 | return df.format(basicDate); |
| 15 | } |
| 16 |
| 17 | // 格式化日期为字符串 "yyyy-MM-dd hh:mm" |
| 18 | public String formatDateTime(String basicDate, String strFormat) { |
| 19 | SimpleDateFormat df = new SimpleDateFormat(strFormat); |
| 20 | Date tmpDate = null; |
| 21 | try { |
| 22 | tmpDate = df.parse(basicDate); |
| 23 | } catch (Exception e) { |
| 24 | // 日期型字符串格式错误 |
| 25 | } |
| 26 | return df.format(tmpDate); |
| 27 | } |
| 28 |
| 29 | // 当前日期加减n天后的日期,返回String (yyyy-mm-dd) |
| 30 | public String nDaysAftertoday(int n) { |
| 31 | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); |
| 32 | Calendar rightNow = Calendar.getInstance(); |
| 33 | // rightNow.add(Calendar.DAY_OF_MONTH,-1); |
| 34 | rightNow.add(Calendar.DAY_OF_MONTH, +n); |
| 35 | return df.format(rightNow.getTime()); |
| 36 | } |
| 37 |
| 38 | // 当前日期加减n天后的日期,返回String (yyyy-mm-dd) |
| 39 | public Date nDaysAfterNowDate(int n) { |
| 40 | Calendar rightNow = Calendar.getInstance(); |
| 41 | // rightNow.add(Calendar.DAY_OF_MONTH,-1); |
| 42 | rightNow.add(Calendar.DAY_OF_MONTH, +n); |
| 43 | return rightNow.getTime(); |
| 44 | } |
| 45 |
| 46 | // 给定一个日期型字符串,返回加减n天后的日期型字符串 |
| 47 | public String nDaysAfterOneDateString(String basicDate, int n) { |
| 48 | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); |
| 49 | Date tmpDate = null; |
| 50 | try { |
| 51 | tmpDate = df.parse(basicDate); |
| 52 | } catch (Exception e) { |
| 53 | // 日期型字符串格式错误 |
| 54 | } |
| 55 | long nDay = (tmpDate.getTime() / (24 * 60 * 60 * 1000) + 1 + n) |
| 56 | * (24 * 60 * 60 * 1000); |
| 57 | tmpDate.setTime(nDay); |
| 58 |
| 59 | return df.format(tmpDate); |
| 60 | } |
| 61 |
| 62 | // 给定一个日期,返回加减n天后的日期 |
| 63 | public Date nDaysAfterOneDate(Date basicDate, int n) { |
| 64 | long nDay = (basicDate.getTime() / (24 * 60 * 60 * 1000) + 1 + n) |
| 65 | * (24 * 60 * 60 * 1000); |
| 66 | basicDate.setTime(nDay); |
| 67 |
| 68 | return basicDate; |
| 69 | } |
| 70 |
| 71 | // 计算两个日期相隔的天数 |
| 72 | public int nDaysBetweenTwoDate(Date firstDate, Date secondDate) { |
| 73 | int nDay = (int) ((secondDate.getTime() - firstDate.getTime()) / (24 * 60 * 60 * 1000)); |
| 74 | return nDay; |
| 75 | } |
| 76 |
| 77 | // 计算两个日期相隔的天数 |
| 78 | public int nDaysBetweenTwoDate(String firstString, String secondString) { |
| 79 | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); |
| 80 | Date firstDate = null; |
| 81 | Date secondDate = null; |
| 82 | try { |
| 83 | firstDate = df.parse(firstString); |
| 84 | secondDate = df.parse(secondString); |
| 85 | } catch (Exception e) { |
| 86 | // 日期型字符串格式错误 |
| 87 | } |
| 88 |
| 89 | int nDay = (int) ((secondDate.getTime() - firstDate.getTime()) / (24 * 60 * 60 * 1000)); |
| 90 | return nDay; |
| 91 | } |
| 92 |
| 93 | } |
相关阅读 更多 +










