日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

運用Java中的Date與Calendar類

運用Java中的Date與Calendar類

更新時間:2022-05-10 文章作者:未知 信息來源:網絡 閱讀次數:

Java 語言的Calendar(日歷),Date(日期), 和DateFormat(日期格式)組成了Java標準的一個基本但是非常重要的部分. 日期是商業邏輯計算一個關鍵的部分. 所有的開發者都應該能夠計算未來的日期, 定制日期的顯示格式, 并將文本數據解析成日期對象. 我們寫了兩篇文章, 這是第一篇, 我們將大概的學習日期, 日期格式, 日期的解析和日期的計算.


我們將討論下面的類:

具體類(和抽象類相對)java.util.Date
抽象類java.text.DateFormat 和它的一個具體子類,java.text.SimpleDateFormat
抽象類java.util.Calendar 和它的一個具體子類,java.util.GregorianCalendar

具體類可以被實例化, 但是抽象類卻不能. 你首先必須實現抽象類的一個具體子類.

Date 類從Java 開發包(JDK) 1.0 就開始進化, 當時它只包含了幾個取得或者設置一個日期數據的各個部分的方法, 比如說月, 日, 和年. 這些方法現在遭到了批評并且已經被轉移到了Calendar類里去了, 我們將在本文中進一步討論它. 這種改進旨在更好的處理日期數據的國際化格式. 就象在JDK 1.1中一樣, Date 類實際上只是一個包裹類, 它包含的是一個長整型數據, 表示的是從GMT(格林尼治標準時間)1970年, 1 月 1日00:00:00這一刻之前或者是之后經歷的毫秒數.


創建一個日期對象
讓我們看一個使用系統的當前日期和時間創建一個日期對象并返回一個長整數的簡單例子. 這個時間通常被稱為Java 虛擬機(JVM)主機環境的系統時間.
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的樣子, 上面的例子在系統輸出設備上顯示的結果是 1001803809710. 在這個例子中,值得注意的是我們使用了Date 構造函數創建一個日期對象, 這個構造函數沒有接受任何參數. 而這個構造函數在內部使用了System.currentTimeMillis() 方法來從系統獲取日期.

那么, 現在我們已經知道了如何獲取從1970年1月1日開始經歷的毫秒數了. 我們如何才能以一種用戶明白的格式來顯示這個日期呢? 在這里類java.text.SimpleDateFormat 和它的抽象基類 java.text.DateFormat 就派得上用場了.


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

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

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

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

例子程序:

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

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 狠狠操美女| 亚洲高清一区二区三区久久 | 在线观看一区二区精品视频 | 日韩 一级片 | 青青操国产 | 91久久国产口精品久久久久 | 精品久久久久久中文字幕 | 日本xxx高清免费视频 | 亚洲网色| 婷婷色人阁 | 在线观看成年人视频网站 | 怡红院在线观看视频 | 国产成人自产拍免费视频 | 在线视频日韩 | 手机看日韩毛片福利盒子 | 日韩中文字幕高清在线专区 | 公么吃奶满足了我苏媚 | 在线观看视频一区 | 自拍偷拍综合网 | 国产精品 日韩 欧美 制服 | 中文字幕99在线精品视频免费看 | 在线免费观看www视频 | 亚洲精品免费观看 | 国产成人精品一区二区免费 | 欧美黄色片在线播放 | 国产成人综合久久精品红 | 国产精品久久久久久五月尺 | 亚洲视频免费在线看 | 日本高清中文 | 91九色视频无限观看免费 | 精品午夜久久网成年网 | 99爱在线精品视频网站 | 久久综合色综合 | 成人在线观看一区 | 日韩视频免费 | 四虎国产精品永久在线 | 殴美在线 | 日本欧美在线视频 | 日日撸视频| 亚洲视频2 | 日本xxx69|