GregorianCalendar date1 = new GregorianCalendar(); //构造日历对象
int today =date1.get(Calendar.DAY_OF_MONTH); //调用get方法获取当日
int month = date1.get(Calendar.MONTH); //调用get方法获取当月
date1.set(Calendar.DAY_OF_MONTH,1); //设置date1为这个月的第一天
int weekday =date1.get(Calendar.DAY_OF_WEEK); //得到这一天是星期几,如果这个月的第一天是星期天,那么变量weekday被设置为1,如果是星期1为2,以此类推。
System.out.println("Sun Mon Tue Wed Thu Fri Sat"); //打印标题头
for (int i = Calendar.SUNDAY; i<weekday; i++) //将1号前面的用空格代替
{
System.out.print(" ");
}
do
{
int day =date1.get(Calendar.DAY_OF_MONTH); //取得当前日期
if (day <10) System.out.print(" "); //判断小于10的前面加空格保持格式
System.out.print(day);
if (day == today) //判断如果日期是当前日期后面加*
System.out.print("* ");
else
System.out.print(" ");
if (weekday == Calendar.SATURDAY) //如果weekday是星期六则换行;
System.out.println();
date1.add(Calendar.DAY_OF_MONTH, 1);
weekday =date1.get(Calendar.DAY_OF_MONTH);
}
while(date1.get(Calendar.MONTH)==month);
if(weekday != Calendar.SUNDAY)
System.out.println();
-----------------------------------------------------------
结果如下
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14 15 16 17* 18 19 20 21 22 23 24 25 26 27 28
-----------------------------------------------------------
希望的结果
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17* 18 19 20 21
22 23 24 25 26 27 28
int today =date1.get(Calendar.DAY_OF_MONTH); //调用get方法获取当日
int month = date1.get(Calendar.MONTH); //调用get方法获取当月
date1.set(Calendar.DAY_OF_MONTH,1); //设置date1为这个月的第一天
int weekday =date1.get(Calendar.DAY_OF_WEEK); //得到这一天是星期几,如果这个月的第一天是星期天,那么变量weekday被设置为1,如果是星期1为2,以此类推。
System.out.println("Sun Mon Tue Wed Thu Fri Sat"); //打印标题头
for (int i = Calendar.SUNDAY; i<weekday; i++) //将1号前面的用空格代替
{
System.out.print(" ");
}
do
{
int day =date1.get(Calendar.DAY_OF_MONTH); //取得当前日期
if (day <10) System.out.print(" "); //判断小于10的前面加空格保持格式
System.out.print(day);
if (day == today) //判断如果日期是当前日期后面加*
System.out.print("* ");
else
System.out.print(" ");
if (weekday == Calendar.SATURDAY) //如果weekday是星期六则换行;
System.out.println();
date1.add(Calendar.DAY_OF_MONTH, 1);
weekday =date1.get(Calendar.DAY_OF_MONTH);
}
while(date1.get(Calendar.MONTH)==month);
if(weekday != Calendar.SUNDAY)
System.out.println();
-----------------------------------------------------------
结果如下
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14 15 16 17* 18 19 20 21 22 23 24 25 26 27 28
-----------------------------------------------------------
希望的结果
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17* 18 19 20 21
22 23 24 25 26 27 28
int today = date1.get(Calendar.DAY_OF_MONTH); // 调用get方法获取当日
int month = date1.get(Calendar.MONTH); // 调用get方法获取当月
date1.set(Calendar.DAY_OF_MONTH, 1); // 设置date1为这个月的第一天
int weekday = date1.get(Calendar.DAY_OF_WEEK); // 得到这一天是星期几,如果这个月的第一天是星期天,那么变量weekday被设置为1,如果是星期1为2,以此类推。
System.out.println("Sun Mon Tue Wed Thu Fri Sat"); // 打印标题头
for (int i = Calendar.SUNDAY; i < weekday; i++) // 将1号前面的用空格代替
{
System.out.print(" ");
}
do {
int day = date1.get(Calendar.DAY_OF_MONTH); // 取得当前日期
if (day < 10)
System.out.print(" "); // 判断小于10的前面加空格保持格式
System.out.print(day);
if (day == today) // 判断如果日期是当前日期后面加*
System.out.print("* ");
else
System.out.print(" ");
if (weekday == Calendar.SATURDAY) // 如果weekday是星期六则换行;
System.out.println();
date1.add(Calendar.DAY_OF_MONTH, 1);
weekday = date1.get(Calendar.DAY_OF_WEEK);//---这里要改成DAY_OF_WEEK---
} while (date1.get(Calendar.MONTH) == month);
if (weekday != Calendar.SUNDAY)
System.out.println();