/**
@version 1.0 2008-05-11
@author Cay S.Hostsman
@version 1.0 2008-05-11
@author Cay S.Hostsman
Modified by
Climbing Huang when learning Core Java 2
*/
import java.util. * ;
public class CalendarTest_CN
{
public static void main(String[] args)
{
// construct d as current date
GregorianCalendar d = new GregorianCalendar();
int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH);
// set d to start date of the month
d.set(Calendar.DAY_OF_MONTH, 1 );
int weekday = d.get(Calendar.DAY_OF_WEEK);
// print heading
System.out.println( " 星期一 星期二 星期三 星期四 星期五 星期六 星期日 " );
// indent first line of calendar
for ( int i = Calendar.MONDAY; i < weekday; i ++ )
System.out.print( " " );
do
{
// print day
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf( " %6d " , day);
// mark current day with *
if (day == today)
System.out.print( " * " );
else
System.out.print( " " );
// start a new line after every Saturday
if (weekday == Calendar.SUNDAY)
System.out.println();
// advance d to the next day
d.add(Calendar.DAY_OF_MONTH, 1 );
weekday = d.get(Calendar.DAY_OF_WEEK);
}
while (d.get(Calendar.MONTH) == month);
// the loop exits when d is day 1 of the next month
// print final end of line if necessary
if (weekday != Calendar.MONDAY)
System.out.println();
}
}
*/
import java.util. * ;
public class CalendarTest_CN
{
public static void main(String[] args)
{
// construct d as current date
GregorianCalendar d = new GregorianCalendar();
int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH);
// set d to start date of the month
d.set(Calendar.DAY_OF_MONTH, 1 );
int weekday = d.get(Calendar.DAY_OF_WEEK);
// print heading
System.out.println( " 星期一 星期二 星期三 星期四 星期五 星期六 星期日 " );
// indent first line of calendar
for ( int i = Calendar.MONDAY; i < weekday; i ++ )
System.out.print( " " );
do
{
// print day
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf( " %6d " , day);
// mark current day with *
if (day == today)
System.out.print( " * " );
else
System.out.print( " " );
// start a new line after every Saturday
if (weekday == Calendar.SUNDAY)
System.out.println();
// advance d to the next day
d.add(Calendar.DAY_OF_MONTH, 1 );
weekday = d.get(Calendar.DAY_OF_WEEK);
}
while (d.get(Calendar.MONTH) == month);
// the loop exits when d is day 1 of the next month
// print final end of line if necessary
if (weekday != Calendar.MONDAY)
System.out.println();
}
}
A snapshot of execution result: