Calendar类是一个抽象类,为我们提供了关于日期计算的相关功能。
比如:年、月、日、时、分、秒的展示和计算。
GregorianCalendar是Calendar的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。
注意月份的表示,一月是0,二月是1,以此类推,12月是11。星期的表示,0是周日,1是周一,
以此类推,6是周六。因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,
父类Calendar使用常量来表示月份:JANUARY、FEBRUARY等等。
例如:
package cn.sxt.test;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Date;
public class TestCalendar{
public static void main(String[ ] args){
//获得日期的相关元素
Calendar c = new GregorianCalendar(2999,10,9,22,10,50);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DATE);//也可以使用:DAY_OF_MONTH.
int weekday = c.get(Calendar.DAY_OF_WEEK);//星期几;0代表周日,1代表周1,6代表周6
System.out.println(year);
System.out.println(month);//0-11表示对应的月份,0表示1月。
System.out.println(day);
System.out.println(weekday);
//设置日期的相关元素
Calendar c2 = new GregorianCalendar();
c2.set(Calendar.YEAR,8012);//当前日期的年份改成8012.
System.out.println(c2);
//日期的计算
Calendar c3 = new GregorianCalendar();
c3.add(Calendar.YEAR,-100);//当前日期年份向前100年。
System.out.println(c3);
//日期对象和时间对象的转化
Date d4 = c3.getTime();
Calendar c4 = new GregorianCalendar();
c4.setTime(new Date());
printCalendar(c4);
}
public static void printCalendar(Calendar c){
//打印:1918年10月10日 11:23:45 周三。
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;//0-11
int date = c.get(Calendar.DAY_OF_MONTH);
int dayweek = c.get(Calendar.DAY_OF_WEEK)-1;//0变周日,以此类推。
String dayweek2 = dayweek==0?"日":dayweek+"";
int hour = c.get(Calendar.HOUR);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
System.out.println(year+"年"+month+"月"+date+"日"+hour+"时"+minute+”分"
+second+"秒"+" 周"+dayweek2);
}
}
Calendar日历类
最新推荐文章于 2022-11-21 23:26:24 发布