主頁(yè) > 知識(shí)庫(kù) > 淺析Java中Data類的應(yīng)用

淺析Java中Data類的應(yīng)用

熱門標(biāo)簽:騰訊地圖標(biāo)注商戶改名注冊(cè)入駐 商丘百應(yīng)電話機(jī)器人有沒有效果 電話機(jī)器人的特色和創(chuàng)新 淮南騰訊地圖標(biāo)注 怎樣把地圖標(biāo)注出來(lái) 地圖標(biāo)注人員兼職 漯河辦理400電話 黃石智能營(yíng)銷電銷機(jī)器人效果 開封便宜外呼系統(tǒng)報(bào)價(jià)
Date 類從Java 開發(fā)包(JDK) 1.0 就開始進(jìn)化, 當(dāng)時(shí)它只包含了幾個(gè)取得或者設(shè)置一個(gè)日期數(shù)據(jù)的各個(gè)部分的方法, 比如說(shuō)月, 日, 和年。這些方法現(xiàn)在遭到了批評(píng)并且已經(jīng)被轉(zhuǎn)移到了Calendar類里去了, 我們將在本文中進(jìn)一步討論它。

  這種改進(jìn)旨在更好的處理日期數(shù)據(jù)的國(guó)際化格式. 就象在JDK 1.1中一樣, Date 類實(shí)際上只是一個(gè)包裹類, 它包含的是一個(gè)長(zhǎng)整型數(shù)據(jù), 表示的是從GMT(格林尼治標(biāo)準(zhǔn)時(shí)間)1970年, 1 月 1日00:00:00這一刻之前或者是之后經(jīng)歷的毫秒數(shù)。

  創(chuàng)建一個(gè)日期對(duì)象

  讓我們看一個(gè)使用系統(tǒng)的當(dāng)前日期和時(shí)間創(chuàng)建一個(gè)日期對(duì)象并返回一個(gè)長(zhǎng)整數(shù)的簡(jiǎn)單例子. 這個(gè)時(shí)間通常被稱為Java 虛擬機(jī)(JVM)主機(jī)環(huán)境的系統(tǒng)時(shí)間.

  import java.util.Date;

  public class DateExample1 {
  public static void main(String[] args) { //自己替換[]
  // Get the system date/time
  Date date = new Date();

  System.out.println(date.getTime());
  }
  }

  在星期六, 2001年9月29日, 下午大約是6:50的樣子,上面的例子在系統(tǒng)輸出設(shè)備上顯示的結(jié)果是 1001803809710. 在這個(gè)例子中,值得注意的是我們使用了Date 構(gòu)造函數(shù)創(chuàng)建一個(gè)日期對(duì)象,這個(gè)構(gòu)造函數(shù)沒有接受任何參數(shù). 而這個(gè)構(gòu)造函數(shù)在內(nèi)部使用了System.currentTimeMillis() 方法來(lái)從系統(tǒng)獲取日期。

  那么, 現(xiàn)在我們已經(jīng)知道了如何獲取從1970年1月1日開始經(jīng)歷的毫秒數(shù)了. 我們?nèi)绾尾拍芤砸环N用戶明白的格式來(lái)顯示這個(gè)日期呢? 在這里類java.text.SimpleDateFormat 和它的抽象基類 java.text.DateFormat 就派得上用場(chǎng)了.

  日期數(shù)據(jù)的定制格式

  假如我們希望定制日期數(shù)據(jù)的格式, 比方星期六-9月-29日-2001年. 下面的例子展示了如何完成這個(gè)工作:

  import java.text.SimpleDateFormat;
  import java.util.Date;

  public class DateExample2 {

  public static void main(String[] args) { //自己替換[]

  SimpleDateFormat bartDateFormat = new SimpleDateFormat("EEEE-MMMM-dd-yyyy");

  Date date = new Date();
  System.out.println(bartDateFormat.format(date));
  }
  }

  只要通過(guò)向SimpleDateFormat 的構(gòu)造函數(shù)傳遞格式字符串"EEE-MMMM-dd-yyyy", 我們就能夠指明自己想要的格式. 你應(yīng)該可以看見, 格式字符串中的ASCII 字符告訴格式化函數(shù)下面顯示日期數(shù)據(jù)的哪一個(gè)部分. EEEE是星期, MMMM是月, dd是日, yyyy是年. 字符的個(gè)數(shù)決定了日期是如何格式化的.傳遞"EE-MM-dd-yy"會(huì)顯示 Sat-09-29-01. 請(qǐng)察看Sun 公司的Web 站點(diǎn)獲取日期格式化選項(xiàng)的完整的指示.

  將文本數(shù)據(jù)解析成日期對(duì)象

  假設(shè)我們有一個(gè)文本字符串包含了一個(gè)格式化了的日期對(duì)象, 而我們希望解析這個(gè)字符串并從文本日期數(shù)據(jù)創(chuàng)建一個(gè)日期對(duì)象. 我們將再次以格式化字符串"MM-dd-yyyy" 調(diào)用SimpleDateFormat類, 但是這一次, 我們使用格式化解析而不是生成一個(gè)文本日期數(shù)據(jù). 我們的例子, 顯示在下面, 將解析文本字符串"9-29-2001"并創(chuàng)建一個(gè)值為001736000000 的日期對(duì)象.

  例子程序:

  import java.text.SimpleDateFormat;
  import java.util.Date;

  public class DateExample3 {

  public static void main(String[]args) { //自己替換[]
  // Create a date formatter that can parse dates of
  // the form MM-dd-yyyy.
  SimpleDateFormat bartDateFormat = new SimpleDateFormat("MM-dd-yyyy");

  // Create a string containing a text date to be parsed.
  String dateStringToParse = "9-29-2001";

  try {
   // Parse the text version of the date.
   // We have to perform the parse method in a
   // try-catch construct in case dateStringToParse
   // does not contain a date in the format we are expecting.
   Date date = bartDateFormat.parse(dateStringToParse);

   // Now send the parsed date as a long value
   // to the system output.
   System.out.println(date.getTime());
  }
  catch (Exception ex) {
   System.out.println(ex.getMessage());
  }
  }
  }

  使用標(biāo)準(zhǔn)的日期格式化過(guò)程

  既然我們已經(jīng)可以生成和解析定制的日期格式了, 讓我們來(lái)看一看如何使用內(nèi)建的格式化過(guò)程. 方法 DateFormat.getDateTimeInstance() 讓我們得以用幾種不同的方法獲得標(biāo)準(zhǔn)的日期格式化過(guò)程. 在下面的例子中, 我們獲取了四個(gè)內(nèi)建的日期格式化過(guò)程. 它們包括一個(gè)短的, 中等的, 長(zhǎng)的, 和完整的日期格式.

  import java.text.DateFormat;
  import java.util.Date;

  public class DateExample4 {

  public static void main(String[] args) { //自己替換[]
  Date date = new Date();

  DateFormat shortDateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);

  DateFormat mediumDateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);

  DateFormat longDateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);

  DateFormat fullDateFormat = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);

  System.out.println(shortDateFormat.format(date));
  System.out.println(mediumDateFormat.format(date));
  System.out.println(longDateFormat.format(date));
  System.out.println(fullDateFormat.format(date));
  }
  }

  注意我們?cè)趯?duì) getDateTimeInstance的每次調(diào)用中都傳遞了兩個(gè)值. 第一個(gè)參數(shù)是日期風(fēng)格, 而第二個(gè)參數(shù)是時(shí)間風(fēng)格. 它們都是基本數(shù)據(jù)類型int(整型). 考慮到可讀性, 我們使用了DateFormat 類提供的常量: SHORT, MEDIUM, LONG, 和 FULL. 要知道獲取時(shí)間和日期格式化過(guò)程的更多的方法和選項(xiàng), 請(qǐng)看Sun 公司W(wǎng)eb 站點(diǎn)上的解釋.
  
  運(yùn)行我們的例子程序的時(shí)候, 它將向標(biāo)準(zhǔn)輸出設(shè)備輸出下面的內(nèi)容:

  9/29/01 8:44 PM
  Sep 29, 2001 8:44:45 PM
  September 29, 2001 8:44:45 PM EDT
  Saturday, September 29, 2001 8:44:45 PM EDT
您可能感興趣的文章:
  • java時(shí)間戳轉(zhuǎn)日期格式的實(shí)現(xiàn)代碼
  • Java中Date,Calendar,Timestamp的區(qū)別以及相互轉(zhuǎn)換與使用
  • Java程序執(zhí)行時(shí)間的2種簡(jiǎn)單方法
  • java獲取當(dāng)前時(shí)間和前一天日期(實(shí)現(xiàn)代碼)
  • 使用java的Calendar對(duì)象獲得當(dāng)前日期
  • 學(xué)習(xí)Java的Date、Calendar日期操作
  • Java中Date類和Calendar類的常用實(shí)例小結(jié)
  • Java中的日期和時(shí)間類以及Calendar類用法詳解
  • 從最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate
  • Java中Calendar時(shí)間操作常用方法詳解

標(biāo)簽:岳陽(yáng) 鄭州 武威 大興安嶺 亳州 馬鞍山 紅河 拉薩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺析Java中Data類的應(yīng)用》,本文關(guān)鍵詞  淺析,Java,中,Data,類,的,應(yīng)用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺析Java中Data類的應(yīng)用》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于淺析Java中Data類的應(yīng)用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章