您的位置 首页 java

java Calendar类

/**

* 测试Calendar类日历抽象类 和 GregorianCalendar类公历子类

*/

public class TestDate2 {

public static void main(String[] args) {

Calendar calendar = new GregorianCalendar(2000,11,1,23,0,5);

//2000年 12月!!注意0代表1月 11代表12月 1号 23点 0分 5秒 输入数字比实际月份小1个月 取值范围从0-11

System.out.println(calendar.getTime()+”的结果为Fri Dec 01 23:00:05 CST 2000″);

//Dec对应11

Date d1 = calendar.getTime();

//.getTime()返回Date类对象

calendar.setTime(new Date());

//将Date对象的值赋给calendar

GregorianCalendar gc2 = new GregorianCalendar(2010,0,5,10,20,30);

System.out.println(gc2.getTime()+”的结果为周二Tue Jan 05 10:20:30 CST 2010″);

int year = gc2.get(Calendar.YEAR);

//.get(int field)返回 field所代表的属性的值 返回值为int field年月日等属性对应不同的int值 通过Calendar.常量直接调用 结果2010

int month = gc2.get(Calendar.MONTH);

//结果 0 0+1一月 .get()返回int

int week = gc2.get(Calendar.WEEK_OF_MONTH);

//月中第几周 结果2

int day = gc2.get(Calendar.DAY_OF_MONTH);

//月中几号 结果5号

int dayOfWeek = gc2.get(Calendar.DAY_OF_WEEK);

System.out.println(dayOfWeek+”的结果为3 周二对应3″);

//day of week 的2对应周一 1对应周日 7对应周六 输出周几比实际周几大一天 取值范围1-7

gc2.set(Calendar.YEAR,2022);

//.set(int field, int value) 给哪个field赋值value 和get(field)一样可以通过内置的常量调用

gc2.set(Calendar.MONTH,Calendar.OCTOBER);

//每个月也有对应的常量

gc2.set(Calendar.DAY_OF_MONTH,20);

gc2.set(Calendar.HOUR_OF_DAY,20);

gc2.set(Calendar.MINUTE,20);

gc2.set(Calendar.SECOND,30);

SimpleDateFormat df = new SimpleDateFormat(“yyyy年MM月dd日 E hh:mm:ss”);

//通过SimpleDateFormat构造器规定日期显示格式

System.out.println(df.format(gc2.getTime())+”的结果为2022年10月20日 星期四 08:20:30″);

//df.format(Date date) gc2.getTime()返回Date

}

}

class MyCalendar{

public static void printCalendar(Calendar c){

int year = c.get(Calendar.YEAR);

int month = c.get(Calendar.MONTH)+1;

//用中文表述需要+1

int day = c.get(Calendar.DAY_OF_MONTH);

int dayOfWeek = c.get(Calendar.DAY_OF_WEEK)-1;

//用中文表述需要-1 原本是1对应周日 7对应周六 没有0 -1后变成1-6对应周一到周六 0对应周日

int hour = c.get(Calendar.HOUR_OF_DAY);

int minute = c.get(Calendar.MINUTE);

int second = c.get(Calendar.SECOND);

System.out.printf(“%d年%d月%d日”,year,month,day);

//%d占位符代表数字 字符串中每一个占位符对应后边的一个参数 %s代表字符串

switch(dayOfWeek){

case 0:

System.out.print(“周日”);

//将int的周几打印汉字

break;

case 1:

System.out.print(“周一”);

break;

case 2:

System.out.print(“周二”);

break;

case 3:

System.out.print(“周三”);

break;

case 4:

System.out.print(“周四”);

break;

case 5:

System.out.print(“周五”);

break;

case 6:

System.out.print(“周六”);

break;

}

System.out.printf(“%d:%d:%d”,hour,minute,second);

}

public static void main(String[] args) {

GregorianCalendar gc = new GregorianCalendar();

//无参生成当下时刻

printCalendar(gc);

//结果2022年7月12日周二13:9:0

}

}

文章来源:智云一二三科技

文章标题:java Calendar类

文章地址:https://www.zhihuclub.com/171662.shtml

关于作者: 智云科技

热门文章

网站地图