http://dev.firnow.com/course/3_program/java/javashl/200726/11199.html
生活随笔
收集整理的這篇文章主要介紹了
http://dev.firnow.com/course/3_program/java/javashl/200726/11199.html
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
滴答、滴答時間在流逝--現在是何時?(二)
http://www.ibm.com/developerworks/cn/java/l-datetime/part2/index.html
http://joda-time.sourceforge.net/index.html
Joda Time - Java date and time API
Joda Time - Java date and time API
Java高級日期概念 (獻給那些要國際化時間及SQL時間的兄弟
http://dev.firnow.com/course/3_program/java/javashl/200726/11199.html
Java高級日期概念
高級Java日期概念(致力于國際化的時間和時間的SQL兄弟的人)
打印查看方式: iSee共有次:3字數:2914日期:Wed,09年4月22日時間:上午5點19分
高級的Java日期概念
http://translate.google.com.hk/translate?hl=zh-CN&langpair=en|zh-CN&u=http://tutorialsto.com/index.php/jsp/java/senior-java-date-concepts-those-dedicated-to-the-internationalization-of-the-time-and-the-time-sql-brother.html
如果您的Java程序的用戶在不同的時區不同國家的日期或時間,那么你需要了解Java Date類的一些方面更先進
。
本文討論一類將包括java.text.DateFormat,以及java.util.TimeZone和java.util.Locate。 我們還將討論如何使用java.util.Date的子類向java.sql.Date提取從甲骨文 數據庫的Java日期和數據保存。
<br>數據區域在我們的國際日期變更,我們需要進一步研究和區域設置類別,即java.util.Locale。 區域設置通常包含一類國家和語言信息的一個例子。 其中每個部分是根據國際標準化組織(ISO)制定的ISO - 3166國家代碼和語言代碼的ISO - 639 2個字符的字符串組成的。
讓我們創建兩個區域設置的例子,其中一個對應于英國,美國,另一個是法國和法國同行。 見表答
表A
進口java.util.Locale;
公共類DateExample6(
公共靜態無效的主要(字串[] args)(
/ /創建一個區域設置為美國英語。
新的區域設置區域設置localeEN =(“恩”,“美國”);
System.out.println(“顯示名:”+
localeEN.getDisplayName());
System.out.println(“國:”+ localeEN.getCountry());
System.out.println(“語言:”+ localeEN.getLanguage());
/ /創建一個區域設置為法國法語。
新的區域設置區域設置localeFR =(“神父”,“文”);
System.out.println(“\ nDisplay名:”+
localeFR.getDisplayName());
System.out.println(“國:”+ localeFR.getCountry());
System.out.println(“語言:”+ localeFR.getLanguage());
/ / 顯示區域設置在法國的美國英語
System.out.println(“\嫩江法語顯示名稱:”+
localeEN.getDisplayName(localeFR));
)
)
在這個例子中,我們使用GetDisplayName方法來顯示一個更清晰的文本區域設置。 您還應當指出的是我們最后一次通話getDisplayName,我們在英文Locale對象getDisplayName在同一時候,法國Locale對象通過調用。 這使我們可以選擇顯示Locale對象的語言,讓我們表現出在英語法語區域設置該對象的內容。 以下是這個例子的輸出:
顯示名稱:英語(美國)
國家:美國
語言:EN
顯示名稱:法語(法國)
國家:阻燃
語言:神父
恩顯示法語名稱:英吉利(各國以及-新聞處)
日期格式的 java.util.Locale 數目地理 <br>使用java.text.DateFormat類型,我們將能夠日期格式的數據顯示它在另一個法國地區,如給用戶。 例如表中B英文和法文為創造一個完整的日期格式化。
表B
進口java.util.Locale;
進口是java.util.Date;
進口java.text.DateFormat;
公共類DateExample7(
公共靜態無效的主要(字串[] args)(
/ /獲取當前系統日期和時間。
日期日期=新的日期();
/ /獲取一個法國的區域設置區域設置使用一個常數。
現場localeFR = Locale.FRANCE;
/ /創建一個英文/美國區域設置使用構造。
新的區域設置區域設置localeEN =(“恩”,“美國”);
/ /獲取一個在法國展出日期時間格式化程序。
DateFormat fullDateFormatFR =
DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL,
localeFR);
/ /獲取一個在美國顯示日期時間格式化
DateFormat fullDateFormatEN =
DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL,
localeEN);
System.out.println(“區域設置:”+ localeFR.getDisplayName());
System.out.println(fullDateFormatFR.format(日期));
System.out.println(“區域設置:”+ localeEN.getDisplayName());
System.out.println(fullDateFormatEN.format(日期));
)
)
這個例子的輸出是:
區域設置:法語(法國)
2001年10月在vendredi 5月21 ? 05格林尼治標準時間04:00
區域設置:英語(美國)
星期五,2001年10月5日美國東部時間下午9時05分54秒
重視信息輸出,包括時區:格林尼治標準時間04:00和下午美國東部時間。 時區是一個系統那里的漁獲物的時區設置。 你可以看到,在該地區的用戶日期是根據所需的顯示格式。 讓我們拭目以待,看看時間區的概念。
時區
的TimeZone類,即類java.util.TimeZone包含一個例子格林威治標準時間(GMT)的所得相比,時間偏移區微秒,而且處理夏令時
。 為了讓所有的一區列表支持,可以使用TimeZone.getAvailableIDs,它會返回到一個區域中包含的字符串數組中的所有的ID。 TimeZone的類需要知道更多細節,請參考Sun公司的網站。
為了證明這個概念,我們將創建三個目標時區。 第一個目標將用于從系統時鐘回getDefault的時區數據,第二個和第三個對象成為一個時區字符串ID。 見表?在代碼中。
表的C + +
進口java.util.TimeZone;
進口是java.util.Date;
進口java.text.DateFormat;
進口java.util.Locale;
公共類DateExample8(
公共靜態無效的主要(字串[] args)(
/ /獲取系統的時區。
TimeZone的timeZoneFL = TimeZone.getDefault();
System.out.println(“\ ?”+ timeZoneFL.getDisplayName());
System.out.println(“RawOffset:”+ timeZoneFL.getRawOffset());
System.out.println(“使用夏時制:”+ timeZoneFL.useDaylightTime());
TimeZone的timeZoneLondon = TimeZone.getTimeZone(“歐洲/倫敦”);
System.out.println(“\ ?”+ timeZoneLondon.getDisplayName());
System.out.println(“RawOffset:”+ timeZoneLondon.getRawOffset());
System.out.println(“使用夏時制:”+ timeZoneLondon.useDaylightTime());
蠟燭imeZone timeZoneParis = TimeZone.getTimeZone(“歐洲/巴黎”);
System.out.println(“\ ?”+ timeZoneParis.getDisplayName());
System.out.println(“RawOffset:”+ timeZoneParis.getRawOffset());
System.out.println(“使用夏時制:”+ timeZoneParis.useDaylightTime());
)
)
輸出如下:
東部標準時間
RawOffset:-18000000
利用日光節能:真
格林尼治標準時間+00:00
RawOffset:0
利用日光節能:真
中歐標準時間
RawOffset:3600000
利用日光節能:真
正如你看到的,我們的TimeZone對象,原來的偏移,是與之間的微秒數GMT的時差,而且還告訴我們,是否使用夏令時的時區。 有此信息,我們將能夠繼續與在其他時間,語言和其他共同的目標區時區和日期格式。
國際間的時區顯示的轉換 <br>讓我們看一個節目結合國際,時區和日期格式的例子。 表在邁阿密和公司巴黎辦事處的一個D,顯示了當前日期和時間的完整性。 對于邁阿密辦公室,我們將在每個辦公室英語顯示完整的日期和時間。 在巴黎的辦公室,我們將顯示,法國當前的日期和時間的完整性。
表D
進口java.util.TimeZone;
進口是java.util.Date;
進口java.util.Locale;
進口java.text.DateFormat;
公共類DateExample9(
公共靜態無效的主要(字串[] args)(
現場localeEN = Locale.US;
現場localeFrance = Locale.FRANCE;
TimeZone的timeZoneMiami = TimeZone.getDefault();
TimeZone的timeZoneParis = TimeZone.getTimeZone(“歐洲/巴黎”);
DateFormat dateFormatter = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL,
localeEN);
DateFormat dateFormatterParis = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL,
localeFrance);
日期curDate =新的日期();
System.out.println(“為邁阿密辦事處展示?!?#xff09;;
/ /打印邁阿密時區顯示名稱中英文
System.out.println(timeZoneMiami.getDisplayName(localeEN));
/ /設置時區的dateFormatter到邁阿密時區。
dateFormatter.setTimeZone(timeZoneMiami);
/ /打印格式的日期。
System.out.println(dateFormatter.format(curDate));
/ /設置時區的日期格式化到巴黎的時區。
dateFormatter.setTimeZone(timeZoneParis);
/ /打印巴黎時區英文顯示的名稱。
System.out.println(timeZoneParis.getDisplayName(localeEN));
/ /打印中英文巴黎時間。
System.out.println(dateFormatter.format(curDate));
System.out.println(“巴黎的辦公室\ nDisplay。”);
/ /打印邁阿密時區顯示名稱法語
System.out.println(timeZoneMiami.getDisplayName(localeFrance));
/ /設置時區的
/ / DateFormatterParis到邁阿密時區。
dateFormatterParis.setTimeZone(timeZoneMiami);
/ /打印在法國格式化日期。
銷毀ystem.out.println(dateFormatterParis.format(curDate));
/ /設置時區的日期格式化到巴黎的時區。
dateFormatterParis.setTimeZone(timeZoneParis);
/ /打印在法國巴黎的時區顯示名稱。
System.out.println(timeZoneParis.getDisplayName(localeFrance));
/ /打印在法國巴黎時間。
System.out.println(dateFormatterParis.format(curDate));
)
)
這個例子的輸出是:
顯示邁阿密辦事處。
東部標準時間
星期五,2001年10月5日美國東部時間下午10時28分02秒
中歐標準時間
星期六,2001年10月6日上午04時28分02秒歐夏令時
顯示巴黎辦事處。
格林尼- 05:00
2001年10月在vendredi 5 22小時28日格林尼治標準時間04:00
格林尼治標準時間+01:00
2001年10月在薩梅迪6 04 ? 28 +02:00
在SQL 數據庫中的數據保存日期和提取 <br>我們將使用下一個類是java.sql.Date,這是一個java.util.Date的子類的,但它使用了Java 數據庫連接(JDBC)方法
。 讓我們看一個簡單的表格上只有一個 - LAST_ACCESS Oracle數據庫,則創建以下SQL:
創建表LAST_ACCESS(
LAST_HIT日期
);
只有一個記錄本表格,并插入下面的語句來創建:
插入LAST_ACCESS值(Sysdate);
表E演示了如何修改和提取域LAST_HIT數據庫。
表E
進口java.sql .*;
進口java.text.DateFormat;
進口是java.util.Date;
公共類DateExample10(
公共靜態無效的主要(字串[] args)(
/ /獲得一個完整的日期格式化。
DateFormat dateFormatter = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL);
/ /獲取系統日期和時間。
java.util.Date的utilDate =新的日期();
/ /轉換為java.sql.Date
java.sql.Date日期=新java.sql.Date(utilDate.getTime());
/ /顯示的日期之前存儲。
System.out.println(dateFormatter.format(日期));
/ /保存日期到數據庫。
setLastHit(日期);
/ /從數據庫中獲取的日期。
日期dateFromDB = getLastHit();
/ /顯示從數據庫中的日期。
System.out.println(dateFormatter.format(dateFromDB));
)
公共靜態無效setLastHit(java.sql.Date日期)(
嘗試(
/ /加載類。
調用Class.forName(“oracle.jdbc.driver.OracleDriver”);
/ /獲取一個連接。
熱onnection連接= DriverManager.getConnection(
/ /數據庫URL
“的jdbc:神諭:薄:@本地主機:1521:buzz2”
“web_site”,/ /用戶名
“web_site”); / /密碼
嘗試(
/獲取一份聲明中其外連接
/ /指定更新的SQL。
PreparedStatement的皮秒= connection.prepareStatement(
“更新LAST_ACCESS設置LAST_HIT =”);
嘗試(
/設置日期讓JDBC技術的工作
/ /格式化的SQL適當。
ps.setDate(1,日期);
/ /執行的更新語句。
詮釋iRowsUpdated = ps.executeUpdate();
System.out.println(“行更新時間:”+ iRowsUpdated);
)最后(
ps.close();
)
)最后(
connection.close();
)
)捕捉(異常前)(
System.out.println(“錯誤:”+ ex.getMessage());
)
)
公共靜態java.sql.Date getLastHit()(
java.sql.Date returnDate =無效;
嘗試(
/ /加載驅動程序類。
調用Class.forName(“oracle.jdbc.driver.OracleDriver”);
/ /獲取連接。
連接連接= DriverManager.getConnection(
“的jdbc:神諭:薄:@本地主機:1521:buzz2”
“web_site”,“web_site”);
嘗試(
/獲取指定的準備好的語句
/ /選擇SQL。
PreparedStatement的皮秒= connection.prepareStatement(
“選擇LAST_HIT從LAST_ACCESS”);
嘗試(
/ /執行SQL和獲得的ResultSet對象。
ResultSet的遙感= ps.executeQuery();
嘗試(
/ / Retreive紀錄。
如果(rs.next())(
/ /返回日期的最后打擊。
returnDate = rs.getDate(“LAST_HIT”);
System.out.println(
“成功檢索上次發生?!?#xff09;;
)其他(
銷毀ystem.out.println(“未獲得最后的沖擊?!?#xff09;;
)
)
最后(
,2();
)
)最后(
ps.close();
)最后(
connection.close();
)
)捕捉(異常前)(
System.out.println(“錯誤:”+ ex.getMessage());
)
返回returnDate;
)
)
這個例子的輸出如下:
星期五,2001年10月5日美國東部時間下午10時42分34秒
行更新:1
成功地檢索到最后的沖擊。
星期五,2001年10月5日美國東部時間上午12時00分00秒
雖然這個例子是沒有的性能數據保存和提取日期提供了一個極好的方法,但它確實表明了如何更新和刪除一個Java的SQL語句的日期數據到數據的日期。 java.util.Date的數據從Oracle日期字段對象是用下面的語句處理過程:
ps.setDate(1,日期);
這是一個方法java.sql.PreparedStatement.setDate接口預先確定的發言。
行代碼,在我們在setLastHit方式出現。 這將是Java到微秒長整型日期值到SQL ORACLE的日期格式。 當我們可以使用從數據庫java.sql.PreparedStatement.getDate數據getLastHit方法獲得的時間來完成這種轉換的日期。
您還應該指出的是,迄今已成立只。 小時,分鐘,秒和微秒不包括在從Java日期數據到SQL日期數據轉換過程。
結論 <br>在你掌握了這些概念,你應該能夠基于時間的系統或一時間進入該對象的創建日期。 此外,你應該能夠使用標準和定制的數據格式化過程格式化日期,文本數據到一個日期對象分析和多語種,多的時區數據的日期顯示的日期。 最后,您將可以節省一個SQL數據庫和提取日期值。
http://www.ibm.com/developerworks/cn/java/l-datetime/part2/index.html
http://joda-time.sourceforge.net/index.html
Joda Time - Java date and time API
Joda Time - Java date and time API
Java高級日期概念 (獻給那些要國際化時間及SQL時間的兄弟
http://dev.firnow.com/course/3_program/java/javashl/200726/11199.html
Java高級日期概念
高級Java日期概念(致力于國際化的時間和時間的SQL兄弟的人)
打印查看方式: iSee共有次:3字數:2914日期:Wed,09年4月22日時間:上午5點19分
高級的Java日期概念
http://translate.google.com.hk/translate?hl=zh-CN&langpair=en|zh-CN&u=http://tutorialsto.com/index.php/jsp/java/senior-java-date-concepts-those-dedicated-to-the-internationalization-of-the-time-and-the-time-sql-brother.html
如果您的Java程序的用戶在不同的時區不同國家的日期或時間,那么你需要了解Java Date類的一些方面更先進
。
本文討論一類將包括java.text.DateFormat,以及java.util.TimeZone和java.util.Locate。 我們還將討論如何使用java.util.Date的子類向java.sql.Date提取從甲骨文 數據庫的Java日期和數據保存。
<br>數據區域在我們的國際日期變更,我們需要進一步研究和區域設置類別,即java.util.Locale。 區域設置通常包含一類國家和語言信息的一個例子。 其中每個部分是根據國際標準化組織(ISO)制定的ISO - 3166國家代碼和語言代碼的ISO - 639 2個字符的字符串組成的。
讓我們創建兩個區域設置的例子,其中一個對應于英國,美國,另一個是法國和法國同行。 見表答
表A
進口java.util.Locale;
公共類DateExample6(
公共靜態無效的主要(字串[] args)(
/ /創建一個區域設置為美國英語。
新的區域設置區域設置localeEN =(“恩”,“美國”);
System.out.println(“顯示名:”+
localeEN.getDisplayName());
System.out.println(“國:”+ localeEN.getCountry());
System.out.println(“語言:”+ localeEN.getLanguage());
/ /創建一個區域設置為法國法語。
新的區域設置區域設置localeFR =(“神父”,“文”);
System.out.println(“\ nDisplay名:”+
localeFR.getDisplayName());
System.out.println(“國:”+ localeFR.getCountry());
System.out.println(“語言:”+ localeFR.getLanguage());
/ / 顯示區域設置在法國的美國英語
System.out.println(“\嫩江法語顯示名稱:”+
localeEN.getDisplayName(localeFR));
)
)
在這個例子中,我們使用GetDisplayName方法來顯示一個更清晰的文本區域設置。 您還應當指出的是我們最后一次通話getDisplayName,我們在英文Locale對象getDisplayName在同一時候,法國Locale對象通過調用。 這使我們可以選擇顯示Locale對象的語言,讓我們表現出在英語法語區域設置該對象的內容。 以下是這個例子的輸出:
顯示名稱:英語(美國)
國家:美國
語言:EN
顯示名稱:法語(法國)
國家:阻燃
語言:神父
恩顯示法語名稱:英吉利(各國以及-新聞處)
日期格式的 java.util.Locale 數目地理 <br>使用java.text.DateFormat類型,我們將能夠日期格式的數據顯示它在另一個法國地區,如給用戶。 例如表中B英文和法文為創造一個完整的日期格式化。
表B
進口java.util.Locale;
進口是java.util.Date;
進口java.text.DateFormat;
公共類DateExample7(
公共靜態無效的主要(字串[] args)(
/ /獲取當前系統日期和時間。
日期日期=新的日期();
/ /獲取一個法國的區域設置區域設置使用一個常數。
現場localeFR = Locale.FRANCE;
/ /創建一個英文/美國區域設置使用構造。
新的區域設置區域設置localeEN =(“恩”,“美國”);
/ /獲取一個在法國展出日期時間格式化程序。
DateFormat fullDateFormatFR =
DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL,
localeFR);
/ /獲取一個在美國顯示日期時間格式化
DateFormat fullDateFormatEN =
DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL,
localeEN);
System.out.println(“區域設置:”+ localeFR.getDisplayName());
System.out.println(fullDateFormatFR.format(日期));
System.out.println(“區域設置:”+ localeEN.getDisplayName());
System.out.println(fullDateFormatEN.format(日期));
)
)
這個例子的輸出是:
區域設置:法語(法國)
2001年10月在vendredi 5月21 ? 05格林尼治標準時間04:00
區域設置:英語(美國)
星期五,2001年10月5日美國東部時間下午9時05分54秒
重視信息輸出,包括時區:格林尼治標準時間04:00和下午美國東部時間。 時區是一個系統那里的漁獲物的時區設置。 你可以看到,在該地區的用戶日期是根據所需的顯示格式。 讓我們拭目以待,看看時間區的概念。
時區
的TimeZone類,即類java.util.TimeZone包含一個例子格林威治標準時間(GMT)的所得相比,時間偏移區微秒,而且處理夏令時
。 為了讓所有的一區列表支持,可以使用TimeZone.getAvailableIDs,它會返回到一個區域中包含的字符串數組中的所有的ID。 TimeZone的類需要知道更多細節,請參考Sun公司的網站。
為了證明這個概念,我們將創建三個目標時區。 第一個目標將用于從系統時鐘回getDefault的時區數據,第二個和第三個對象成為一個時區字符串ID。 見表?在代碼中。
表的C + +
進口java.util.TimeZone;
進口是java.util.Date;
進口java.text.DateFormat;
進口java.util.Locale;
公共類DateExample8(
公共靜態無效的主要(字串[] args)(
/ /獲取系統的時區。
TimeZone的timeZoneFL = TimeZone.getDefault();
System.out.println(“\ ?”+ timeZoneFL.getDisplayName());
System.out.println(“RawOffset:”+ timeZoneFL.getRawOffset());
System.out.println(“使用夏時制:”+ timeZoneFL.useDaylightTime());
TimeZone的timeZoneLondon = TimeZone.getTimeZone(“歐洲/倫敦”);
System.out.println(“\ ?”+ timeZoneLondon.getDisplayName());
System.out.println(“RawOffset:”+ timeZoneLondon.getRawOffset());
System.out.println(“使用夏時制:”+ timeZoneLondon.useDaylightTime());
蠟燭imeZone timeZoneParis = TimeZone.getTimeZone(“歐洲/巴黎”);
System.out.println(“\ ?”+ timeZoneParis.getDisplayName());
System.out.println(“RawOffset:”+ timeZoneParis.getRawOffset());
System.out.println(“使用夏時制:”+ timeZoneParis.useDaylightTime());
)
)
輸出如下:
東部標準時間
RawOffset:-18000000
利用日光節能:真
格林尼治標準時間+00:00
RawOffset:0
利用日光節能:真
中歐標準時間
RawOffset:3600000
利用日光節能:真
正如你看到的,我們的TimeZone對象,原來的偏移,是與之間的微秒數GMT的時差,而且還告訴我們,是否使用夏令時的時區。 有此信息,我們將能夠繼續與在其他時間,語言和其他共同的目標區時區和日期格式。
國際間的時區顯示的轉換 <br>讓我們看一個節目結合國際,時區和日期格式的例子。 表在邁阿密和公司巴黎辦事處的一個D,顯示了當前日期和時間的完整性。 對于邁阿密辦公室,我們將在每個辦公室英語顯示完整的日期和時間。 在巴黎的辦公室,我們將顯示,法國當前的日期和時間的完整性。
表D
進口java.util.TimeZone;
進口是java.util.Date;
進口java.util.Locale;
進口java.text.DateFormat;
公共類DateExample9(
公共靜態無效的主要(字串[] args)(
現場localeEN = Locale.US;
現場localeFrance = Locale.FRANCE;
TimeZone的timeZoneMiami = TimeZone.getDefault();
TimeZone的timeZoneParis = TimeZone.getTimeZone(“歐洲/巴黎”);
DateFormat dateFormatter = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL,
localeEN);
DateFormat dateFormatterParis = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL,
localeFrance);
日期curDate =新的日期();
System.out.println(“為邁阿密辦事處展示?!?#xff09;;
/ /打印邁阿密時區顯示名稱中英文
System.out.println(timeZoneMiami.getDisplayName(localeEN));
/ /設置時區的dateFormatter到邁阿密時區。
dateFormatter.setTimeZone(timeZoneMiami);
/ /打印格式的日期。
System.out.println(dateFormatter.format(curDate));
/ /設置時區的日期格式化到巴黎的時區。
dateFormatter.setTimeZone(timeZoneParis);
/ /打印巴黎時區英文顯示的名稱。
System.out.println(timeZoneParis.getDisplayName(localeEN));
/ /打印中英文巴黎時間。
System.out.println(dateFormatter.format(curDate));
System.out.println(“巴黎的辦公室\ nDisplay。”);
/ /打印邁阿密時區顯示名稱法語
System.out.println(timeZoneMiami.getDisplayName(localeFrance));
/ /設置時區的
/ / DateFormatterParis到邁阿密時區。
dateFormatterParis.setTimeZone(timeZoneMiami);
/ /打印在法國格式化日期。
銷毀ystem.out.println(dateFormatterParis.format(curDate));
/ /設置時區的日期格式化到巴黎的時區。
dateFormatterParis.setTimeZone(timeZoneParis);
/ /打印在法國巴黎的時區顯示名稱。
System.out.println(timeZoneParis.getDisplayName(localeFrance));
/ /打印在法國巴黎時間。
System.out.println(dateFormatterParis.format(curDate));
)
)
這個例子的輸出是:
顯示邁阿密辦事處。
東部標準時間
星期五,2001年10月5日美國東部時間下午10時28分02秒
中歐標準時間
星期六,2001年10月6日上午04時28分02秒歐夏令時
顯示巴黎辦事處。
格林尼- 05:00
2001年10月在vendredi 5 22小時28日格林尼治標準時間04:00
格林尼治標準時間+01:00
2001年10月在薩梅迪6 04 ? 28 +02:00
在SQL 數據庫中的數據保存日期和提取 <br>我們將使用下一個類是java.sql.Date,這是一個java.util.Date的子類的,但它使用了Java 數據庫連接(JDBC)方法
。 讓我們看一個簡單的表格上只有一個 - LAST_ACCESS Oracle數據庫,則創建以下SQL:
創建表LAST_ACCESS(
LAST_HIT日期
);
只有一個記錄本表格,并插入下面的語句來創建:
插入LAST_ACCESS值(Sysdate);
表E演示了如何修改和提取域LAST_HIT數據庫。
表E
進口java.sql .*;
進口java.text.DateFormat;
進口是java.util.Date;
公共類DateExample10(
公共靜態無效的主要(字串[] args)(
/ /獲得一個完整的日期格式化。
DateFormat dateFormatter = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL);
/ /獲取系統日期和時間。
java.util.Date的utilDate =新的日期();
/ /轉換為java.sql.Date
java.sql.Date日期=新java.sql.Date(utilDate.getTime());
/ /顯示的日期之前存儲。
System.out.println(dateFormatter.format(日期));
/ /保存日期到數據庫。
setLastHit(日期);
/ /從數據庫中獲取的日期。
日期dateFromDB = getLastHit();
/ /顯示從數據庫中的日期。
System.out.println(dateFormatter.format(dateFromDB));
)
公共靜態無效setLastHit(java.sql.Date日期)(
嘗試(
/ /加載類。
調用Class.forName(“oracle.jdbc.driver.OracleDriver”);
/ /獲取一個連接。
熱onnection連接= DriverManager.getConnection(
/ /數據庫URL
“的jdbc:神諭:薄:@本地主機:1521:buzz2”
“web_site”,/ /用戶名
“web_site”); / /密碼
嘗試(
/獲取一份聲明中其外連接
/ /指定更新的SQL。
PreparedStatement的皮秒= connection.prepareStatement(
“更新LAST_ACCESS設置LAST_HIT =”);
嘗試(
/設置日期讓JDBC技術的工作
/ /格式化的SQL適當。
ps.setDate(1,日期);
/ /執行的更新語句。
詮釋iRowsUpdated = ps.executeUpdate();
System.out.println(“行更新時間:”+ iRowsUpdated);
)最后(
ps.close();
)
)最后(
connection.close();
)
)捕捉(異常前)(
System.out.println(“錯誤:”+ ex.getMessage());
)
)
公共靜態java.sql.Date getLastHit()(
java.sql.Date returnDate =無效;
嘗試(
/ /加載驅動程序類。
調用Class.forName(“oracle.jdbc.driver.OracleDriver”);
/ /獲取連接。
連接連接= DriverManager.getConnection(
“的jdbc:神諭:薄:@本地主機:1521:buzz2”
“web_site”,“web_site”);
嘗試(
/獲取指定的準備好的語句
/ /選擇SQL。
PreparedStatement的皮秒= connection.prepareStatement(
“選擇LAST_HIT從LAST_ACCESS”);
嘗試(
/ /執行SQL和獲得的ResultSet對象。
ResultSet的遙感= ps.executeQuery();
嘗試(
/ / Retreive紀錄。
如果(rs.next())(
/ /返回日期的最后打擊。
returnDate = rs.getDate(“LAST_HIT”);
System.out.println(
“成功檢索上次發生?!?#xff09;;
)其他(
銷毀ystem.out.println(“未獲得最后的沖擊?!?#xff09;;
)
)
最后(
,2();
)
)最后(
ps.close();
)最后(
connection.close();
)
)捕捉(異常前)(
System.out.println(“錯誤:”+ ex.getMessage());
)
返回returnDate;
)
)
這個例子的輸出如下:
星期五,2001年10月5日美國東部時間下午10時42分34秒
行更新:1
成功地檢索到最后的沖擊。
星期五,2001年10月5日美國東部時間上午12時00分00秒
雖然這個例子是沒有的性能數據保存和提取日期提供了一個極好的方法,但它確實表明了如何更新和刪除一個Java的SQL語句的日期數據到數據的日期。 java.util.Date的數據從Oracle日期字段對象是用下面的語句處理過程:
ps.setDate(1,日期);
這是一個方法java.sql.PreparedStatement.setDate接口預先確定的發言。
行代碼,在我們在setLastHit方式出現。 這將是Java到微秒長整型日期值到SQL ORACLE的日期格式。 當我們可以使用從數據庫java.sql.PreparedStatement.getDate數據getLastHit方法獲得的時間來完成這種轉換的日期。
您還應該指出的是,迄今已成立只。 小時,分鐘,秒和微秒不包括在從Java日期數據到SQL日期數據轉換過程。
結論 <br>在你掌握了這些概念,你應該能夠基于時間的系統或一時間進入該對象的創建日期。 此外,你應該能夠使用標準和定制的數據格式化過程格式化日期,文本數據到一個日期對象分析和多語種,多的時區數據的日期顯示的日期。 最后,您將可以節省一個SQL數據庫和提取日期值。
總結
以上是生活随笔為你收集整理的http://dev.firnow.com/course/3_program/java/javashl/200726/11199.html的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++除零异常
- 下一篇: 零基础都能看懂的 STL map 详解