package JAVA2;
import java.text.DateFormatSymbols;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class PrintSpace {
public static void main(String[] args) {
/**
* 构造日历对象
*/
GregorianCalendar d=new GregorianCalendar();
/**
* 获取当前的日期
*/
int today=d.get(Calendar.DAY_OF_MONTH);
System.out.println("获取当前的日期:"+today+"号");
/**
* 获取当前的月份
*/
int month=d.get(Calendar.MONTH);
System.out.println("获取当前的月份:"+(month+1)+"月");
/**
* 设置当前日期为本月的第一天
*/
d.set(Calendar.DAY_OF_MONTH,1);
int week=d.get(Calendar.DAY_OF_WEEK);
System.out.println("获取本月第一天为星期:"+week);
/**
* 获取当前地区的星期的起始日期
*/
int firstday=d.getFirstDayOfWeek();
System.out.println("这是当前地区的起始星期:"+firstday);
/**
* 打印日历
*/
int indent=0;
while(week!=firstday)
{
indent++;
d.add(Calendar.DAY_OF_MONTH, -1);
week=d.get(Calendar.DAY_OF_WEEK);
}
String [] weekdayNames=new DateFormatSymbols().getShortWeekdays();
do{
System.out.printf("%4s",weekdayNames[week]);
d.add(Calendar.DAY_OF_MONTH, 1);
week=d.get(Calendar.DAY_OF_WEEK);
}while(week!=firstday);
System.out.println();
for(int i=1;i<=indent;i++)
{
System.out.print(" ");
}
d.set(Calendar.DAY_OF_MONTH, 1);
do
{
int day=d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d",day);
if(day==today)
{
System.out.print("*");
}
else
{
System.out.print(" ");
}
d.add(Calendar.DAY_OF_MONTH, 1);
week=d.get(Calendar.DAY_OF_WEEK);
if(week==firstday)
{
System.out.println();
}
}while(d.get(Calendar.MONTH)==month);
if(week!=firstday)
{
System.out.println();
}
}
}
转载于:https://blog.51cto.com/chaiyesongtest/1392041