大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 java中的Date類的使用方法

java中的Date類的使用方法

更新時間:2019-09-07 09:00:00 來源:動力節點 瀏覽6310次

 

今天動力節點java培訓機構小編為大家介紹“java中的Date類的使用方法”,希望此文能夠幫助到正在學習java的零基礎學員,下面就隨下小編一起看看java中的Date類的使用方法都有拿些?


一、 Date類對象的創建


  1、創建一個當前時間的Date對象


  //創建一個代表系統當前日期的Date對象


  Date d = new Date();



  2、創建一個我們指定的時間的Date對象:


  使用帶參數的構造方法Date(int year, int month, int day) ,可以構造指定日期的Date類對象,Date類中年份的參數應該是實際需要代表的年份減去1900,實際需要代表的月份減去1以后的值。


  //創建一個代表2014年6月12號的Date對象


  Date d1 = new Date(2014-1900, 6-1, 12); (注意參數的設置)



  3、正確獲得一個date對象所包含的信息


  如:Date d2 = new Date(2014-1900, 6-1, 12);


  //獲得年份 (注意年份要加上1900,這樣才是日期對象d2所代表的年份)


  int year = d2.getYear() + 1900;


  //獲得月份 (注意月份要加1,這樣才是日期對象d2所代表的月份)


  int month = d2.getMonth() + 1;


  //獲得日期


  int date = d2.getDate();


  //獲得小時


  int hour = d2.getHours();//不設置默認為0


  //獲得分鐘


  int minute = d2.getMinutes();


  //獲得秒


  int second = d2.getSeconds();


  //獲得星期 (注意:0代表星期日、1代表星期1、2代表星期2,其他的一次類推了)


  int day = d2.getDay();



  二、Calendar類


  Calendar類的功能要比Date類強大很多,可以方便的進行日期的計算,獲取日期中的信息時考慮了時區等問題。而且在實現方式上也比Date類要復雜一些


  1、Calendar類對象的創建


  Calendar類是一個抽象類,由于Calendar類是抽象類,且Calendar類的構造方法是protected的,所以無法使用Calendar類的構造方法來創建對象,API中提供了getInstance方法用來創建對象。



  2、創建一個代表系統當前日期的Calendar對象


  Calendar c = Calendar.getInstance();//默認是當前日期



  3、創建一個指定日期的Calendar對象


  使用Calendar類代表特定的時間,需要首先創建一個Calendar的對象,然后再設定該對象中的年月日參數來完成。


  //創建一個代表2014年5月9日的Calendar對象


  Calendar c1 = Calendar.getInstance();


  c1.set(2014, 5 - 1, 9);//調用:public final void set(int year,int month,int date)



  4、Calendar類對象信息的設置與獲得


   (1)Calendar類對象信息的設置


  A、Set設置


  如:Calendar c1 = Calendar.getInstance();


  調用:public final void set(int year,int month,int date)


  c1.set(2014, 6- 1, 9);//把Calendar對象c1的年月日分別設這為:2014、6、9



  B、利用字段類型設置


  如果只設定某個字段,例如日期的值,則可以使用public void set(int field,int value)


  //把 c1對象代表的日期設置為10號,其它所有的數值會被重新計算


  c1.set(Calendar.DATE,10);


  //把c1對象代表的年份設置為2014年,其他的所有數值會被重新計算


  c1.set(Calendar.YEAR,2015);


  其他字段屬性set的意義以此類推


  Calendar類中用一下這些常量表示不同的意義,jdk內的很多類其實都是采用的這種思想


  Calendar.YEAR——年份


  Calendar.MONTH——月份


  Calendar.DATE——日期


  Calendar.DAY_OF_MONTH——日期,和上面的字段意義相同


  Calendar.HOUR——12小時制的小時


  Calendar.HOUR_OF_DAY——24小時制的小時


  Calendar.MINUTE——分鐘


  Calendar.SECOND——秒


  Calendar.DAY_OF_WEEK——星期幾



  C、Add設置(可用與計算時間)


  Calendar c1 = Calendar.getInstance();


  //把c1對象的日期加上10,也就是c1所表的日期的10天后的日期,其它所有的數值會被重新計算


  c1.add(Calendar.DATE, 10);


  //把c1對象的日期加上-10,也就是c1所表的日期的10天前的日期,其它所有的數值會被重新計算


  c1.add(Calendar.DATE, -10);


  其他字段屬性的add的意義以此類推



  (2)Calendar類對象信息的獲得(使用get())


  Calendar c1 = Calendar.getInstance();


  // 獲得年份


  int year = c1.get(Calendar.YEAR);


  // 獲得月份


  int month = c1.get(Calendar.MONTH) + 1;(MONTH+1)


  // 獲得日期


  int date = c1.get(Calendar.DATE);


  // 獲得小時


  int hour = c1.get(Calendar.HOUR_OF_DAY);


  // 獲得分鐘


  int minute = c1.get(Calendar.MINUTE);


  // 獲得秒


  int second = c1.get(Calendar.SECOND);


  // 獲得星期幾(注意(這個與Date類是不同的):1代表星期日、2代表星期1、3代表星期二,以此類推)


  int day = c1.get(Calendar.DAY_OF_WEEK);



  三、 GregorianCalendar類


  GregorianCalendar 是 Calendar 的一個具體子類,提供了世界上大多數國家使用的標準日歷系統。


  1、GregorianCalendar類對象的創建


  GregorianCalendar有自己的構造方法,而其父類Calendar沒有公開的構造方法。


  GregorianCalendar() 在具有默認語言環境的默認時區內使用當前時間構造一個默認的 GregorianCalendar。


  在具有默認語言環境的默認時區內構造一個帶有給定日期設置的 GregorianCalendar。


  GregorianCalendar(int year, int month, int dayOfMonth)


  GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute) 。


  GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)



  2、創建一個代表當前日期的GregorianCalendar對象


  GregorianCalendar gc = new GregorianCalendar();


  //創建一個代表2014年6月19日的GregorianCalendar對象(注意參數設置,與其父類是一樣,月份要減去1)


  GregorianCalendar gc = new GregorianCalendar(2014,6-1,19);



  3、另外:GregorianCalendar有一個方法:boolean isLeapYear(int year) 確定給定的年份是否為閏年



  四、DateFormat類和SimpleDateFormat類


  public class SimpleDateFormat extends DateFormat 是一個以與語言環境相關的方式來格式化和分析日期的具體類。(日期時間輸出的工具類)


  它允許進行日期格式化(日期 -> 文本)、分析(文本 -> 日期)和規范化。所以SimpleDateFormat類可以實現:String 到 Date,Date到String的互轉



  五、日期類對象之間的互轉


1.png


  /* Date Long Calendar*/


  Date類對象與long型時間的互轉


  //1.將Date類的對象轉換為long型時間


  Date d= new Date();


  //使用對象的getTime()方法完成


  long dLong = d.getTime();


  //2.將long型時間轉換為Date類的對象


  long time = 1290876532190L;


  //使用Date的構造方法完成


  Date d2 = new Date(time);



  Calendar對象和long型時間之間的互轉


  // 將Calendar對象轉換為相對時間


  Calendar c = Calendar.getInstance();


  long t1 = c.getTimeInMillis();


  // 將long轉換為Calendar對象


  Calendar c1 = Calendar.getInstance();


  long t = 1252785271098L;


  c1.setTimeInMillis(t1);


  /* String Date Calendar 三者之間的相互轉換*/



  Calendar對象和Date對象之間的互轉


  //1 .將Calendar對象轉換為Date(c.getTime())


  Calendar c = Calendar.getInstance();


  Date d = c.getTime();


  // 2.將Date轉換為Calendar對象(s.setTime(date))


  Calendar c1 = Calendar.getInstance();


  Date d1 = new Date();


  //通過setTime()方法后,日歷c1所表示的日期就d1的日期


  c1.setTime(d1);



  String Calendar之間的轉換:


  //1.Date 轉化String


  SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");


  String dateStr=sdf.format(new Date());


  //2.String 轉化Date


  String str="2010-5-27";


  SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");


  Date birthday = sdf.parse(str);



  Date個Calendar對象之間的轉換


  //1.Date 轉化為Calendar


  Calendar calendar = Calendar.getInstance();


  calendar.setTime(new Date());


  //2.Calenda轉換為Date


  Calendar calendar = Calendar.getInstance();


  Date date =calendar.getTime();



  Date和String對象之間的轉換


  //1.Calendar 轉化 String


  Calendar calendat = Calendar.getInstance();


  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd")0;


  String dateStr = sdf.format(calendar.getTime());


  //2.String 轉化Calendar


  String str="2010-5-27";


  SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");


  Date date =sdf.parse(str);


  Calendar calendar = Calendar.getInstance();


  calendar.setTime(date);



  六、利用以上各個類的功能,我們可以很簡單的實現一些時間計算的功能,下面看幾個方法:


  l、判斷是否是閏年


  /**


  * 給定一個年份判斷該年份是否為閏年


  */


  public static boolean isLeapYear(int year) {


  GregorianCalendar calendar = new GregorianCalendar();


  return calendar.isLeapYear(year);


  }



  2、獲取當前日期的字符串表示形式


  /**


  * 利用SimpleDateFormat獲取當前日期的字符串表示形式 格式:2009-5-05


  */


  public static String getCurrentDate() {


  SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");


  return dateFormat.format(System.currentTimeMillis());


  }



  3、給出任意一個年月日得到該天是星期幾


  /**


  * 給出任意一個年月日得到該天是星期幾


  */


  public static int getWeek(String date) {


  // 注意參數的大小寫格式


  SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");


  Calendar c = Calendar.getInstance();


  try {


  Date d = dateFormat.parse(date);


  c.setTime(d);


  } catch (ParseException e) {


  }


  return c.get(Calendar.DAY_OF_WEEK)-1;


  }



  4、 獲得今天n天以后或者n天以前是那一天


  /**


  * 獲得距離今天n天的那一天的日期


  */


  public static String getDistanceDay(int day) {


  Calendar calen = Calendar.getInstance();


  calen.add(Calendar.DAY_OF_MONTH, day);


  Date date = calen.getTime();


  // 這里也個用SimpleDateFormat的format()進行格式化,然后以字符串形式返回格式化后的date


  SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");


  return dateFormat.format(date);


  }



  5、 獲得距離指定日期n天的那一天的日期


  /**


  * 獲得距離指定日期n天的那一天的日期


  */


  public static String getDistanceDay(String date, int day) {


  SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");


  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());


  }



  6、獲得給定兩個日期相差的天數


  /**


  * 獲得給定兩個日期相差的天數


  *


  */


  public static long getGapDays(String date1, String date2) {


  String[] d1 = date1.split("-");


  String[] d2 = date2.split("-");


  Calendar c = Calendar.getInstance();


  c.set(Integer.parseInt(d1[0]), Integer.parseInt(d1[1]), Integer


  .parseInt(d1[2]), 0, 0, 0);


  long l1 = c.getTimeInMillis();


  c.set(Integer.parseInt(d2[0]), Integer.parseInt(d2[1]), Integer


  .parseInt(d2[2]), 0, 0, 0);


  long l2 = c.getTimeInMillis();


  return (Math.abs(l1 - l2) / (24 * 60 * 60 * 1000));


  }


以上就是動力節點java培訓機構小編介紹的“java中的Date類的使用方法”的內容,希望能夠幫助到大家,更多java資訊最新內容請繼續關注動力節點java培訓機構官網,每天會有精彩內容分享與你。


相關免費視頻教程推薦


javase基礎視頻教程下載——Date日期類:http://www.dabaquan.cn/xiazai/2520.html


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 狠狠操在线观看 | 国产免费三a在线 | 精品免费久久 | 老司机午夜网站 | 色视频网站人成免费 | 国产最新精品精品视频 | 精品久久久久久国产 | 四房婷婷在线视频播放 | 国内精品免费久久影院 | www.色综合 | 久久我们这里只有精品国产4 | 牛牛影视在线 | 国精品一区二区三区 | 国产在线一区二区三区在线 | 久国产视频 | aaaaaa毛片免费看 | 波霸欧美性猛交xxxxxx | 国产粉嫩白浆在线观看 | 视频播放在线观看精品视频 | 日韩精品欧美成人 | 男人的天堂在线精品视频 | 久久99爱爱| 香港aa三级久久三级老师 | 日本特级爽毛片叫声 | 亚洲va天堂va欧美ⅴa | 天天干天天射天天插 | 国内精品自在欧美一区 | 99re66热这里只有精品首页 | 九九综合| 无遮挡无遮挡91桃色在线观看 | 国产精品久久综合桃花网 | 亚洲另类视频在线观看 | 亚洲激情在线 | 午夜精品久久久久久久爽 | 久久综合九色综合国产 | 国产精品成人观看视频网站 | 色噜噜国产精品视频一区二区 | 美女操操 | 亚洲免费福利 | 成人黄色在线免费观看 | 老司机深夜影院入口aaaa |