万年历升级版 Calendar

package com.yc.wnl;

import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

import com.yc.ycutil.DateUtil;

//用于输出用户要求的年月对应的表格 public class CalendarTest { public static void main(String[] args) { ///万年历的进化版 //1、这个月的一号是在哪一天 //2、这个月由多少天可以 Scanner sc=new Scanner(System.in); System.out.println("请输入相应的年份"); int year=sc.nextInt(); System.out.println("请输入相应的月份"); int month=sc.nextInt(); //获得当前的日期 Calendar cc=Calendar.getInstance(); //需要重新设置Canlendar 下的month是从0-11 的 cc.set(year, month-1, 1); //获得这个时间是这个周第几天 int dayofweek=cc.get(Calendar.DAY_OF_WEEK)-1; System.out.println(dayofweek); //求当前这个月由多少天 //下个月的一号 减去1天就回到了前一个月的最后一天 哪一天也就是表示着这个月由几天 cc.add(Calendar.MONTH,1);//月份加1 cc.add(Calendar.DATE,-1);//天数减1 int days=cc.get(Calendar.DATE);//获得了这个月份的天数 //取出今天的日期 DateUtil du=new DateUtil(); du.setFormat("yyyy年M月d日"); String todaystr=du.formatDate(new Date()); System.out.println(todaystr); System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t"); for(int i=1;i<=dayofweek;i++){ System.out.print("\t"); } // System.out.println("1"); for(int i=1;i<=days;i++){ System.out.print(i+"\t"); if((i+dayofweek)%7==0){ System.out.println(); } } } }

  

package com.yc.ycUtil;
//该类通过使用DateFormat  和	  Date  输出指定形式的时间
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
	private String format;
	private DateFormat dateformat;
	//设置输出形式
	public void setFormat(String format){
		this.format=format;
		dateformat=new SimpleDateFormat(format);
	}
	//输出 由Date输出字符串
	public String formatDate(Date date){
		return dateformat.format(date);
	}
	//由字符串输出Date
	public Date dateParse(String format) throws Exception{
		return dateformat.parse(format) ;
	}
	//测试!!
	public static void main(String[] args) {
		DateTest dt=new DateTest();
		dt.setFormat("yyyy-MM-dd");
		Date date=new Date();
		System.out.println(dt.formatDate(date));
		System.out.println();
		
	}

}

  

posted @ 2013-03-20 08:41  后飞IT  阅读(382)  评论(0编辑  收藏  举报