Java的Calendar,获取月份少一月的问题及其它注意事项
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);
}
}
1.Calendar.MONTH,这是一个有别于现实中日历的值
在格里高利历和罗马儒略历中一年中的第一个月是JANUARY,它为 0;最后一个月取决于一年中的月份数。
所以这个值的初始值为0,因此我们用它来表示日历月份时需要加1。
2.Calender.DAY_OF_WEEK,表示一个星期中的某天
该字段可取的值为 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY 和 SATURDAY 。
我们知道DAY_OF_WEEK是获取当前日期是一周中的第几天,而一周从周日算起,因此当我们取得这个值之后,为了正确地截取出随后的字符串week中的那个中文字符,需要减1来达到目的。