最新Java中Date类型详解
一、Date類型的初始化
1、 Date(int year, int month, int date); 直接寫入年份是得不到正確的結果的。 因為java中Date是從1900年開始算的,所以前面的第一個參數只要填入從1900年后過了多少年就是你想要得到的年份。 月需要減1,日可以直接插入。 這種方法用的比較少,常用的是第二種方法。
2、 這種方法是將一個符合特定格式,比如yyyy-MM-dd,的字符串轉化成為Date類型的數據。 首先,定義一個Date類型的對象 Date date = null; 再定義一個String類型的符合格式的字符串 String dateStr = "2010-9-10"; 把這個字符串進行拆分 String[ ]? dateDivide = dateStr.split("-"); 把年月日分別取出,賦給Calendar,用 Calendar的getTime();取得日期再賦給date。
例如:
if(dateDivide.length==3){ int year = Integer.parseInt(dateDivide [0].trim());//去掉空格 int month = Integer.parseInt(dateDivide [1].trim()); int day = Integer.parseInt(dateDivide [2].trim()); Calendar c = Calendar.getInstance();//獲取一個日歷實例 c.set(year, month-1, day);//設定日歷的日期 date = c.getTime();
}
二、Date類型的比較
Date a;
Date b;
假設現在你已經實例化了a和b
a.after(b)返回一個boolean,如果a的時間在b之后(不包括等于)返回true
b.before(a)返回一個boolean,如果b的時間在a之前(不包括等于)返回true
a.equals(b)返回一個boolean,如果a的時間和b相等返回true
三、Date類型常用的操作函數
// 1.計算某一月份的最大天數Calendar time = Calendar.getInstance();time.clear();time.set(Calendar.YEAR, year); // year 為 inttime.set(Calendar.MONTH, i - 1);// 注意,Calendar對象默認一月為0int day = time.getActualMaximum(Calendar.DAY_OF_MONTH);// 本月份的天數// 注:在使用set方法之前,必須先clear一下,否則很多信息會繼承自系統當前時間// 2.Calendar和Date的轉化 // (1) Calendar轉化為Date Calendarcal = Calendar.getInstance();Date date = cal.getTime();// (2) Date轉化為CalendarDate date = new Date();Calendar cal = Calendar.getInstance();cal.setTime(date);// 3.格式化輸出日期時間(這個用的比較多)Date date = new Date();SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");String time = df.format(date);System.out.println(time);// 4.計算一年中的第幾星期// (1)計算某一天是一年中的第幾星期Calendar cal = Calendar.getInstance();cal.set(Calendar.YEAR, 2006);cal.set(Calendar.MONTH, 8);cal.set(Calendar.DAY_OF_MONTH, 3);int weekno = cal.get(Calendar.WEEK_OF_YEAR);// (2)計算一年中的第幾星期是幾號SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");Calendar cal = Calendar.getInstance();cal.set(Calendar.YEAR, 2006);cal.set(Calendar.WEEK_OF_YEAR, 1);cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);System.out.println(df.format(cal.getTime()));//輸出:2006-01-02// 5.add()和roll()的用法(不太常用)// (1)add()方法SimpleDateFormat df=newSimpleDateFormat("yyyy-MM-dd");Calendar cal = Calendar.getInstance();cal.set(Calendar.YEAR, 2006);cal.set(Calendar.MONTH, 8);cal.set(Calendar.DAY_OF_MONTH, 3);cal.add(Calendar.DATE, -4);Date date = cal.getTime();System.out.println(df.format(date));cal.add(Calendar.DATE, 4);date = cal.getTime();System.out.println(df.format(date));//輸出:2006-08-30 2006-09-03//(2)roll方法cal.set(Calendar.YEAR, 2006);cal.set(Calendar.MONTH,8);cal.set(Calendar.DAY_OF_MONTH,3);cal.roll(Calendar.DATE, -4);date=cal.getTime();System.out.println(df.format(date));cal.roll(Calendar.DATE,4);date=cal.getTime();System.out.println(df.format(date));//輸出:2006-09-292006-09-03// 可見,roll()方法在本月內循環,一般使用add()方法; ?
轉載于:https://www.cnblogs.com/0717GG/p/7087663.html
總結
以上是生活随笔為你收集整理的最新Java中Date类型详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: chest
- 下一篇: 求sci谜案集电视剧百度网盘,献上我所有