Calendar日曆類,Date類

Date表示日期:1970年1月1日0點0分0秒0毫秒到現在的毫秒數,他的組成部分:yyyy,MM,dd,hh|HH,mm,ss

Calendar:日曆,通常用於日期計算

獲取當前時間並格式化輸出

@Test
	public void test(){
		Date now = new Date();//表示系統的當前日期
		//格式化輸出
		SimpleDateFormat sdf = new SimpleDateFormat("HH點mm分ss秒");
		System.out.println(sdf.format(now));
	}

獲取當前時間毫秒數

@Test
	public void test2(){
		long a = System.currentTimeMillis();//當前時間的毫秒
		System.out.println(a);
		long b = System.currentTimeMillis();
		System.out.println(b-a);
	}

接受用戶輸入日期,並解析成date

public void test3() throws ParseException{
		//接受用戶輸入日期
		Scanner input = new Scanner(System.in);
		System.out.println("請輸入你的生日:yyyy-MM-dd");
		String s = input.nextLine();
		//將用戶輸入的生日解析成Date類型
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date birth = sdf.parse(s);
	}

Calendar

	@Test
	public void test4(){
		Calendar cal = Calendar.getInstance();//獲取實例
//		print(cal);
//		cal.set(Calendar.DAY_OF_MONTH, 1);//把日曆設置成本月的第一天
//		print(cal);
//		cal.set(Calendar.MONTH, 0);//把日曆設置成這一年第一個月
//		print(cal);
//		System.out.println(cal.get(Calendar.YEAR));
		//兩個相約十年後此時此刻相見
//		cal.add(Calendar.YEAR, 10);
//		print(cal);
//		cal.add(Calendar.MONTH, 27);
		cal.add(Calendar.DAY_OF_MONTH, -10);
		print(cal);
		System.out.println(cal.get(Calendar.DAY_OF_WEEK)==Calendar.TUESDAY);
		System.out.println(cal.get(Calendar.MONTH));
		cal.add(Calendar.DAY_OF_MONTH, 28);
		System.out.println(cal.get(Calendar.MONTH));
	}

	private void print(Calendar cal) {
		String s = String.format("%1$tY年%1$tm月%1$td日 %tH點", cal);
		System.out.println(s);
	}

萬年曆

public static void main(String[] args) {
		System.out.println("按yyyy-MM-dd格式輸入日期");
		Scanner sc = new Scanner(System.in);
		String sdate = sc.nextLine();
		SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
		Date date = null;
		try {
			date = sdf.parse(sdate);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		//System.out.println(String.format("%1$tY年%1$tm月%1$td日 %tH點", calendar));
		//calendar.setFirstDayOfWeek(2);//週一設爲一週第一天
		calendar.set(Calendar.DAY_OF_MONTH, 1);//日曆設爲本月第一天
		int DayOfMonth = calendar.getActualMaximum(Calendar.DATE);//判斷這個月多少天
		System.out.println("日\t一\t二\t三\t四\t五\t六");
		for(int i= 0;i<calendar.get(Calendar.DAY_OF_WEEK)-1;i++){
			System.out.print("\t");
		}//月初第一天前位置加空格
		for (int i = 0; i < DayOfMonth; i++) {
			if(calendar.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY)
				System.out.println();//換行
			System.out.print(calendar.get(Calendar.DAY_OF_MONTH )+"\t");
			calendar.add(Calendar.DAY_OF_MONTH , 1);
		}
	}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章