java 取得當前年月日 注意事項。

 原文:http://www.cnblogs.com/ayan/archive/2011/12/22/2298505.html


import java.util.*;
2 public class DateClass
3 {
4 public static void main(String args[ ])
5 {
6 Date m = new Date( );
7 System.out.println("現在是:"+m.toString( ));
8 Calendar n = Calendar.getInstance( );
9 int year = n.get(Calendar.YEAR);
10 int month = n.get(Calendar.MONTH)+1;
11 int day = n.get(Calendar.DATE);
12 int week = n.get(Calendar.DAY_OF_WEEK)-1;
13 Date t = n.getTime ( );
14 String week1 = new String("日一二三四五六");
15 String week2=week1.substring(week, week+1);
16 String x = new String( );
17 x = "現在是:"+year+"年"+month+"月"+day+"日,星期"+week2;
18 System.out.println("現在是:"+t);
19 System.out.println(x);
20 }
21 }

解析:
1 MONTH加1的原因: public static final int MONTH 指示月份的 get 和 set 的字段數字。這是一個特定於日曆的值。在格里高利曆和羅馬儒略曆中一年中的第一個月是 JANUARY,它爲 0;最後一個月取決於一年中的月份數。 簡單來說,因爲這個值的初始值是0,因此我們要用它來表示正確的月份時就需要加1。
2 WEEK減1的原因: public static final int DAY_OF_WEEK get 和 set 的字段數字,指示一個星期中的某天。該字段可取的值爲 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY 和 SATURDAY 觀察代碼,你會發現其實week是用來確定隨後的字符串week1該如何截取的,我們知道DAY_OF_WEEK是獲取當前日期是一週中的第幾天,而一週從週日算起,因此當我們取得這個值之後,爲了要正確的截取出隨後的字符串week1中的那個中文字符,因此它需要減1來達到目的。你只要跟蹤一下程序運行,觀察變量的賦值就會理解它這樣編寫的用意了。
3 定義day時不用的原因: public static final int DATE get 和 set 的字段數字,指示一個月中的某天。它與 DAY_OF_MONTH 是同義詞。一個月中第一天的值爲 1。 根據定義我們可以知道,這個值取得後不需要做任何變更就是程序需要的值。

4 substring(week, week+1): public String substring(int beginIndex, int endIndex) 返回一個新字符串,它是此字符串的一個子字符串。該子字符串從指定的 beginIndex 處開始,直到索引 endIndex - 1 處的字符。因此,該子字符串的長度爲 endIndex-beginIndex。 根據定義,我們就知道這個方法的用途了。舉例來說,假如今天是星期四,那麼之前獲得的week的值就是4,因爲我們取到了DAY_OF_WEEK(這裏是5)後又減了1,然後我們用這個變量week來幫助我們截取字符串week1,這裏調用了substring(4,5),所以取到的字符就是“四,正是我們需要的字符。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章