java的Calendar,獲取月份少一月的問題及其它注意事項:
首先需要注意的是Calendar在初始化的時候需要通過調用Calendar.getInstance()來實現的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import java.util.*; public class DateClass{ public static void main(String args[ ]){ Date m = new Date( ); System.out.println( "現在是:" +m.toString( )); Calendar n = Calendar.getInstance( ); int year = n.get(Calendar.YEAR); int month = n.get(Calendar.MONTH)+ 1 ; int day = n.get(Calendar.DATE); int week = n.get(Calendar.DAY_OF_WEEK); Date t = n.getTime ( ); String weekArr = new String( "日一二三四五六" ); String weekIndexStr=weekArr.substring(week- 1 , week); String x = new String( ); x = "現在是:" +year+ "年" +month+ "月" +day+ "日,星期" +weekIndexStr; System.out.println( "現在是:" +t); System.out.println(x); } } |
Calendar.MONTH ,這是一個特殊於日曆的值。
在格里高利曆和羅馬儒略曆中一年中的第一個月是 JANUARY,它爲 0;最後一個月取決於一年中的月份數。
所以這個值的初始值爲0,所以我們用它來表示日曆月份時需要加1
Calender.day_of_week ,指示一個星期中的某天。
該字段可取的值爲 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY 和 SATURDAY 。
我們知道DAY_OF_WEEK是獲取當前日期是一週中的第幾天,
而一週從週日算起,因此當我們取得這個值之後,爲了要正確的截取出隨後的字符串week1中的那個中文字符,因此它需要減1來達到目的。
轉自Blog: https://www.cnblogs.com/chenjfblog/p/7699096.html
其他一些常用函數:
* public void add(int field,int amount):根據給定的日曆自動和值,改變時間
* public final void set(int year,int month,int date):設置年月日
例子:
Calendar c = Calendar.getInstance();
c.get(Calendar.YEAR)
c.add(Calendar.YEAR, -3);
c.set(2012, 3, 4);//注意這裏最終會顯示:2012-4-4