幽哥

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

FormatDate.java

 

 

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 }
posted on 2010-10-04 19:03  幽哥  阅读(290)  评论(0编辑  收藏  举报