大战熟女丰满人妻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://m.dabaquan.cn/xiazai/2520.html


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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产一级片毛片 | 中文字幕在线一区二区在线 | 国产成人精品第一区二区 | 激情综合视频 | 四虎成年永久免费网站 | 欧美成人另类 | 欧美日韩一级大片 | 91久久在线 | 国产视频最新 | 91精东果冻蜜桃星空麻豆 | 久久久精品国产四虎影视 | 国产精品久久久久久久久免费hd | 久久天堂视频 | 国外成人在线视频 | 国产精品成人免费综合 | 日韩免费不卡视频 | 玖热在线 | 大乳欲妇三级一区二区三区 | 色综合合久久天天综合绕视看 | 在线 亚洲 欧美 | ass最极品女人下部pic | 久久香蕉国产线看观看亚洲卡 | 真91视频| 免费福利视频网站 | 美日韩视频 | 免费中日高清无专码有限公司 | 口国产成人高清在线播放 | 精品煌色视频网站在线观看 | 亚洲欧美日韩在线一区二区三区 | 在线观看亚洲 | 在线xxxx| 久久999| 天天射天天色天天干 | 国产在线视精品麻豆 | 一级毛片私人影院老司机 | 九一视频在线免费观看 | 久久综合精品视频 | 亚洲国产精品久久 | 911免费视频| 久久婷婷国产一区二区三区 | 午夜dj影院在线视频观看完整 |