您的位置:首页 > 编程语言 > Java开发

Java日历模型:输入一个日期,控制台显示

2014-09-16 19:17 417 查看


package com.zhen.calendar;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;

/*
* 输入一个日期,控制台显示
* 格式:20140808
*/

public class CalendarMain {
public static void main(String[] argus)
{
System.out.println("请输入一个日期(格式:20140808):  ");

Scanner scanner = new Scanner(System.in);
String sTemp = scanner.nextLine();                                    //获取输入字符

CalendarMain calendar = new CalendarMain();
calendar.myCalendar(sTemp);

scanner.close();                                                    //关闭输入流
}

private void myCalendar(String sTestDate)
{
DateFormat df = new SimpleDateFormat("yyyyMMdd");                    //检查格式化
try{
Date date = df.parse(sTestDate);
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
int iYear = calendar.get(Calendar.YEAR);                        //获取输入的年份
int iMonth = calendar.get(Calendar.MONTH);                        //获取输入的月份
int iDate = calendar.get(Calendar.DATE);                        //获取输入的日期

calendar.set(Calendar.DATE, 1);                                    //获取输入月份1号
int iFirstDay = calendar.get(Calendar.DAY_OF_WEEK);                //获取输入月份1号是星期几
int iMaxDate = calendar.getActualMaximum(Calendar.DATE);        //获取输入月份的最大天数

/*
//获取本地时间
calendar.setTime(new Date());
int iCurYear = calendar.get(Calendar.YEAR);
int iCurMonth = calendar.get(Calendar.MONTH);
int iCurDate = -1;
if(iCurYear == iYear && iCurMonth == iMonth)
{
iCurDate = calendar.get(Calendar.DATE);
}
*/

System.out.println("-- "+ iYear +"年"+(iMonth+1)+"月"+"\n");        //月份从0开始
System.out.println("日\t一\t二\t三\t四\t五\t六");

int j=iFirstDay;
for(int i=1;i<=iMaxDate;i++)
{
if(i == 1 && i<iFirstDay)                                    //1号时,判定前面空多少'\t'
{
int iTemp = i;
while(iTemp < iFirstDay)
{
System.out.print('\t');
iTemp++;
}
}
String sDate = i<10 ? "0"+i : i+ "";                        //格式化日期
if(iDate == i)
{
sDate += "**";                                            //当前输入的日期加**
}
System.out.print(sDate +"\t");

if(j%7==0)                                                    //换行
{
System.out.println();
}
j++;
}
}
catch(Exception e)
{

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐