hengheng123456789

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            297 Posts :: 68 Stories :: 144 Comments :: 0 Trackbacks

          java 中的時間操作不外乎這四種情況:

          1 、獲取當前時間

          2 、獲取某個時間的某種格式

          3 、設置時間

          4 、時間的運算

          好,下面就針對這三種情況,一個一個搞定。

          ?

          一、獲取當前時間

          ?

          有兩種方式可以獲得,第一種,使用 Date 類。

          j2SE 的包里有兩個 Date 類,一個是 java.sql.Date, 一個是 java.util.Date

          這里,要使用 java.util.Date 。獲取當前時間的代碼如下

          Date date = new Date();

          date.getTime() ;

          還有一種方式,使用 System.currentTimeMillis() ;

          ?

          這兩種方式獲得的結果是一樣的,都是得到一個當前的時間的 long 型的時間的毫秒值,這個值實際上是當前時間值與 1970 年一月一號零時零分零秒相差的毫秒數。

          當前的時間得到了,但實際的應用中最后往往不是要用這個 long 型的東西,用戶希望得到的往往是一個時間的字符串,比如“ 2006 6 18 號”,或“ 2006-06-18 ”,老外可能希望得到的是“ 06-18-2006 ”,諸如此類等等。這就是下一個要解決的問題

          ?

          二、獲取某個時間的某種格式

          ?

          獲取時間的格式,需要用到一個專門用于時間格式的類 java.text.SimpleDateFormat

          首先,定義一個 SimpleDateFormat 變量

          SimpleDateFormat sdf = new SimpleDateFormat("",Locale.SIMPLIFIED_CHINESE);

          這個構造函數的定義如下:

          SimpleDateFormat(String ? pattern, Locale ? locale)

          第一個參數 pattern ,我們后面再解釋,這里我們使用一個 "", 第二個參數,是用來設置時區的,這里用到了 java.util.Locale 這個類,這個類了面定義了很多靜態變量,直接拿過來用就 OK ,我們把時區設置為 Locale.SIMPLIFIED_CHINESE ,只看名字,這個靜態變量的意義已經很清楚了。

          ?

          接下來我們使用這個 SimpleDateFormat 把當前時間格式化為一個如下格式的時間字符串“ XXXX XX XX _XX XX XX 秒”,代碼:

          sdf.applyPattern("yyyy年MM月dd日_HH時mm分ss秒");

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

          ?

          獲取時間格式的函數是 format ,這個函數的參數是 java.util.Date 對象,這個沒有什么花頭。

          要說明一下的是這個 pattern ,所謂的模式。這里, yyyy,MM,dd 等,這就是模式。

          我們可以在 SimpleDateFormat 的構造函數中指定模式,比如

          SimpleDateFormat sdf = new SimpleDateFormat(" yyyy-MM-dd ",Locale.SIMPLIFIED_CHINESE);

          也可以獲取時間格式的時候使用applyPattern函數臨時指定,上面的例子就是這樣。

          什么字符代表什么,這是 j2se 約定好的,設置模式的時候,我們可以使用約定好的字符加上任何我們想要的字符串。

          j2se 對字符所代表的模式的約定列表如下:

          ?

          ?

          Letter Date or Time Component Presentation
          G Era designator Text
          y Year Year
          M Month in year Month
          w Week in year Number
          W Week in month Number
          D Day in year Number
          d Day in month Number
          F Day of week in month Number
          E Day in week Text
          a Am/pm marker Text?
          H Hour in day (0-23) Number
          k Hour in day (1-24) Number
          K Hour in am/pm (0-11)? Number
          h?? Hour in am/pm (1-12)? Number
          m?? Minute in hour? Number
          s?? Second in minute? Number
          S?? Millisecond? Number??
          z?? Time zone?? General time zone?
          Z?? Time zone? RFC 822 time zone

          posted on 2007-01-09 10:15 哼哼 閱讀(306) 評論(0)  編輯  收藏 所屬分類: JAVA-Common
          主站蜘蛛池模板: 宜丰县| 永登县| 襄汾县| 阳西县| 达孜县| 浦东新区| 米脂县| 南溪县| 和顺县| 洪湖市| 靖州| 铜鼓县| 济南市| 天门市| 双桥区| 太白县| 定结县| 定边县| 安乡县| 偃师市| 平原县| 泗阳县| 兴安盟| 读书| 洛隆县| 怀宁县| 新闻| 安福县| 彭泽县| 清徐县| 甘泉县| 云梦县| 新闻| 七台河市| 茂名市| 甘德县| 五寨县| 普陀区| 都昌县| 安远县| 屏南县|