1.Date(方法基本爲過時方法)java
//建立日期對象 Date d = new Date(); //獲取年份得加上1900 Deprecated System.out.println("year:"+(d.getYear()+1900)); //獲取月份+1 Deprecated System.out.println("month:"+(d.getMonth()+1)); //每個月中的第幾天(幾號) Deprecated System.out.println("date:"+d.getDate()); //小時 Deprecated System.out.println("hour:"+d.getHours()); //分鐘 Deprecated System.out.println("minutes:"+d.getMinutes()); //秒 Deprecated System.out.println("seconds:"+d.getSeconds()); //星期,數字0表明的是星期天 Deprecated System.out.println("week:"+d.getDay()); //建立時間2013-10-29 09:15:59 ,年要減去1900 ,月份減1 Deprecated Date dd = new Date(2013-1900,10-1,29,9,15,59); SimpleDateFormat smf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(smf.format(dd));
運行結果:函數
year:2013
month:10
date:29
hour:9
minutes:43
seconds:56
week:2
2013-10-29 09:15:59.net
2.Calendarcode
Calendar c = Calendar.getInstance(); c.set(2013, 9, 28, 5, 25, 36);//設定時間爲:2013-10-28 5:25:36 c.add(Calendar.DATE, 1);//日期加1後爲 2013-10-29 5:25:36,其餘的也可這樣設置 //年 System.out.println(c.get(Calendar.YEAR)); //月份,注意加1 System.out.println(c.get(Calendar.MONTH)+1); //月份中的第幾天 System.out.println(c.get(Calendar.DATE)); //小時 System.out.println(c.get(Calendar.HOUR)); //分鐘 System.out.println(c.get(Calendar.MINUTE)); //秒 System.out.println(c.get(Calendar.SECOND)); //星期:1表明星期日,2表明星期一,依次類推 System.out.println(c.get(Calendar.DAY_OF_WEEK));
運行結果:orm
2013
10
29
5
25
36
3對象
3.GregorianCalendar類blog
GregorianCalendar
是 Calendar
的一個具體子類,提供了世界上大多數國家使用的標準日曆系統。繼承
GregorianCalendar類對象的建立ci
GregorianCalendar有本身的構造方法,而其父類Calendar沒有公開的構造方法。字符串
GregorianCalendar()
在具備默認語言環境的默認時區內使用當前時間構造一個默認的 GregorianCalendar。
GregorianCalendar(int year, int month, int dayOfMonth)
在具備默認語言環境的默認時區內構造一個帶有給定日期設置的 GregorianCalendar。
GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute)
爲具備默認語言環境的默認時區構造一個具備給定日期和時間設置的 GregorianCalendar。
GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)
爲具備默認語言環境的默認時區構造一個具備給定日期和時間設置的 GregorianCalendar。
建立一個表明當前日期的GregorianCalendar對象
GregorianCalendar gc = new GregorianCalendar();
//建立一個表明2013年10月29日的GregorianCalendar對象(月份要減去1)
GregorianCalendar gc = new GregorianCalendar(2013,10-1,29);
字段屬性繼承父類Calendar
另外:GregorianCalendar有下面一個方法:
isLeapYear
(int year)
//肯定給定的年份是否爲閏年
GregorianCalendar cc = new GregorianCalendar();
System.out.println(cc.isLeapYear(2013));//false
4.SimpleDateFormat
public class SimpleDateFormat extends DateFormat
SimpleDateFormat
是一個以與語言環境相關的方式來格式化和分析日期的具體類。它容許進行格式化(日期 -> 文本)、分析(文本 -> 日期)和規範化。
因此本類能夠實現:String 到 Date Date到String的互轉,以下:
//注意構造函數中是SimpleDateFormat類解析日期的模式,大小寫表明的意義徹底不同哦
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//日期到字符串的轉換
String today = df.format(new Date());
//字符串到日期的轉換
Date date = df.parse("2013-10-29 09:55:56");
System.out.println(df.format(new Date()));
5.日期類對象之間的互轉
a. Date類對象與long型時間的互轉
//將Date類的對象轉換爲long型時間
Date d= new Date();
//使用對象的getTime()方法完成
long dLong = d.getTime();
//將long型時間轉換爲Date類的對象
long time = 1290876532190L;
//使用Date的構造方法完成
Date d2 = new Date(time);
b. Calendar對象和long型時間之間的互轉
// 將Calendar對象轉換爲相對時間
Calendar c = Calendar.getInstance();
long t1 = c.getTimeInMillis();
// 將相對時間轉換爲Calendar對象
Calendar c1 = Calendar.getInstance();
long t = 1252785271098L;
c1.setTimeInMillis(t1);
c. Calendar對象和Date對象之間的互轉
// 將Calendar對象轉換爲相對時間
Calendar c = Calendar.getInstance();
Date d = c.getTime();
// 將相對時間轉換爲Calendar對象
Calendar c1 = Calendar.getInstance();
Date d1 = new Date();
//經過setTime()方法後,日曆c1所表示的日期就d1的日期
c1.setTime(d1);
6.幾個經常使用方法
a.判斷是否爲瑞年
// 給定一個年份判斷該年份是否爲閏年 public static boolean isLeapYear(int year) { GregorianCalendar calendar = new GregorianCalendar(); return calendar.isLeapYear(year); }
b.獲取當前日期的字符串表示形式
// 獲取當前日期的字符串表示形式 public static String getCurrentDate() { SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); return dateFormat.format(System.currentTimeMillis()); }
c.得到距離今天n天的那一天的日期
// 得到距離今天n天的那一天的日期 public static String getDate(int days) { Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_MONTH, days);// 獲得前n天 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sdf.format(c.getTime()); }
d.給出任意一個年月日獲得該天是星期幾
// 給出任意一個年月日獲得該天是星期幾 //返回值:0 表明星期日,1表明星期1,2表明星期2,以此類推 public static int getWeek(String date) { // 注意參數的大小寫格式 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); Calendar c = Calendar.getInstance(); try { Date d = dateFormat.parse(date); c.setTime(d); } catch (ParseException e) { } return c.get(Calendar.DAY_OF_WEEK) - 1; }
e.得到距離指定日期n天的那一天的日期
//得到距離指定日期n天的那一天的日期 public static String getDistanceDay(String date, int day) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d; Calendar c =Calendar.getInstance(); try { d = dateFormat.parse(date); c.setTime(d); c.add(Calendar.DATE, day); } catch (ParseException e) { e.printStackTrace(); } return dateFormat.format(c.getTime()); }
參考:http://blog.csdn.net/shibenjie/article/details/4263912#comments