日历类
public class CalenderTest {
public static void main(String[] args) {
//日历类 -- instance是日历对象 用来调用日历方法 instance.setTime instance.add等
//Calendar日历类直接使用 读取日历时间 Calendar.YEAR Calendar.MONTH等
Calendar instance = Calendar.getInstance();
System.out.println(instance); //不可读
//获取日历中的year month
System.out.println(instance.get(Calendar.YEAR));
System.out.println(instance.get(Calendar.MONTH) + 1); //日历类的月份从0开始
System.out.println(instance.get(Calendar.DATE)); //月中日
System.out.println(instance.get(Calendar.DAY_OF_YEAR)); //年中日
//setTime方法传入指定日期到日历对象中
instance.setTime(new Date());
//对日历对象的属性进行修改
instance.add(Calendar.YEAR, 1); //加一年
}
}
练习 - 打印当前日历
public class PrintDate {
public static void main(String[] args) {
//打印当月日历
System.out.println("一\t二\t三\t四\t五\t六\t日");
//获取当前日期的日历对象
Calendar firstDate = Calendar.getInstance();
//把日历对象设定为当前月的第一天
firstDate.set(Calendar.DAY_OF_MONTH,1); //将月中日 设为1
//获取当前月最大的日期
int maxDay = firstDate.getMaximum(Calendar.DAY_OF_MONTH);
//循环打印
for (int i = 0; i < maxDay; i++) {
//本月第一天日期是周几 是几号
int dayOfWeek = firstDate.get(Calendar.DAY_OF_WEEK);
int dayOfMonth = firstDate.get(Calendar.DAY_OF_MONTH);
//一号前的日期不打印
if(i==0){
//一号是周日需要换行
if(dayOfWeek == Calendar.SUNDAY){
//周日前空6天
for (int i1 = 0; i1 < 6; i1++) {
System.out.print("\t");
}
System.out.println(dayOfMonth);
}else{
//一号不是周日 前面空几天取决于是周几
for (int i1 = 0; i1 < dayOfWeek-1; i1++) {
System.out.print("\t");
}
System.out.print(dayOfMonth);
}
}else{
//不是一号 判断是否为周日-是否需要换行
if( dayOfWeek == Calendar.SUNDAY){
System.out.println(dayOfMonth);
}else{
System.out.print(dayOfMonth);
System.out.print("\t"); //不换行时打印间隔
}
}
//打印日历后增加一天
firstDate.add(Calendar.DATE,1);
}
}
}
标签:日历,System,instance,println,Calendar,out
From: https://www.cnblogs.com/Ashen-/p/17020268.html