您的位置:首页 > 编程语言 > Java开发

java中的GregorianCalendar类

2016-01-05 23:17 609 查看
         Java中将记录时间的类与表示日期的类分开,分别为表示时间点信息的Date类;表示人们所熟悉的公历表示法的GregorianCalendar类

        GregorianCalendar类提供的方法有很多,而构造其对象的方式也很多

          创建GregorianCalendar对象

         new GregorianCalendar();

         new GregorianCalendar(2007, 1, 17);

         new GregorianCalendar(2007,Calendar.FEBRUAY,17);

         new GregorianCalendar(2007,Calendar.FEBRUAY,17,18,15,23)  //2007年2月17日18时15分23秒

常用方法

          void add(int field, int amount)

          int get(int field)

          void set(int field, int value)

          Date getTime()      //返回当前对象所描述的时间点

          void setTime(Date date)

      利用GregorianCalendar类功能在控制台显示当前月日历的例子,该例说明了上述很多方法的使用。

//利用GregorianCalendar类功能在控制台显示当前月日历的例子
//GregorianCalendar类示例
package chapter03.sample3_32;
import java.util.*;
public class Sample3_32{
public static void main(String[] args){
//创建当前日历对象
GregorianCalendar now = new GregorianCalendar();

//从当前时期对象中取出时间日期对象
Date date = now.getTime();

//将时间日期对象按字符串形式打印
System.out.println(date.toString());

//重新将时间对象设置到日期对象中
now.setTime(date);

//从当前日期对象中取出当前月份、日期
int today = now.get(Calendar.DAY_OF_MONTH);
int month = now.get(Calendar.MONTH);

//设置日期为本月开始日期
now.set(Calendar.DAY_OF_MONTH,1);

//获取本月开始日期在一周中的编号
int week = now.get(Calendar.DAY_OF_WEEK);

//打印日历头并换行
System.out.println("星期日 星期一 星期二 星期三 星期四 星期五 星期六");

//设置当前月中第一天的开始位置
for(int i = Calendar.SUNDAY; i < week; i++)
System.out.print(" ");

//按规格循环打印当前的日期数字
while(now.get(Calendar.MONTH) == month){
//取出当前日期
int day = now.get(Calendar.DAY_OF_MONTH);

//设置日期数字小于10与不小于10两种情况的打印规格
if(day < 10){

//设置当前日期的表示形式
if(day == today)
System.out.print(" <" + day + "> ");
else
System.out.print(" " + day + " ");
}else{
//设置当前日期的表示形式
if(day == today)
System.out.print("<" + day + "> ");
else
System.out.print(" " + day + " ");
}

//设置什么时候换行
if(week == Calendar.SATURDAY){
System.out.println();
}

//设置日期与星期几为下一天
now.add(Calendar.DAY_OF_MONTH,1);
week = now.get(Calendar.DAY_OF_WEEK);
}

}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: