1. 程式人生 > >Java基礎(3)Java中的日期(Date與Calendar)

Java基礎(3)Java中的日期(Date與Calendar)

一、關於Date

	private static void dateTest(){
		//定義時區,可以避免虛擬機器時間與系統時間不一致的問題
//		TimeZone.setDefault(TimeZone.getTimeZone("North America/Washington"));  
		TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
		//方法一:該方法返回當前的計算機時間,時間的表達格式為當前計算機時間和GMT時間(格林威治時間)1970年1月1號0時0分0秒所差的毫秒數。
		long TimeNow = System.currentTimeMillis();
		//可以將其轉換為date型別
		System.out.println(new Date(TimeNow));
		
		//方法二:Date方式,輸出現在時間
		Date nowTime = new Date();
		System.out.println(nowTime);
		//時間格式化
		SimpleDateFormat matter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println(matter.format(nowTime));//方法三:SimpleDateFormat方式,完整輸出現在時間
		
		//date不能根據“2018-01-23”這種String來建立指定時間,只能通過如下方式:
		//方式一:new Date(year,month,day)
		Date date = new Date(118,0,23);
		System.out.println(matter.format(date));
		//方式二
		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		try {
			Date date1 = dateFormat.parse("2018-01-23");
			System.out.println(date1);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

二、關於Calendar

Calendar最好的一點是可以加減

	private static void calendarTest(){
		Calendar cal = Calendar.getInstance();
		//三天前
		cal.add(Calendar.DAY_OF_MONTH, -3);
		int year =cal.get(Calendar.YEAR);
		int month =cal.get(Calendar.MONTH)+1;
		int day =cal.get(Calendar.DAY_OF_MONTH);
		int hour =cal.get(Calendar.HOUR_OF_DAY);
		int minute =cal.get(Calendar.MINUTE);
		int seconds =cal.get(Calendar.SECOND);
		System.out.println(year+"-"+month+"-"+day+" "+hour+":"+minute+":"+seconds);
	}

三、Date與Calendar相互轉換

	private static void calendarAndDate(){
		//Calendar轉化為Date
		Calendar cal1=Calendar.getInstance();
		Date date1=cal1.getTime();
		System.out.println(date1);
		//Date轉化為Calendar
		Date date2=new Date();
		Calendar cal2=Calendar.getInstance();
		cal2.setTime(date2);
		int year =cal2.get(Calendar.YEAR);
		int month =cal2.get(Calendar.MONTH)+1;
		int day =cal2.get(Calendar.DAY_OF_MONTH);
		int hour =cal2.get(Calendar.HOUR_OF_DAY);
		int minute =cal2.get(Calendar.MINUTE);
		int seconds =cal2.get(Calendar.SECOND);
		System.out.println(year+"-"+month+"-"+day+" "+hour+":"+minute+":"+seconds);
	}