1. 程式人生 > >java中自帶時間類用法例項 Date,Timestamp,DateFormat

java中自帶時間類用法例項 Date,Timestamp,DateFormat

我們將以Java自帶的時間日期類和其中的處理函式進行分析。

一、與時間日期有關的類。

  java.util.Date。實現類,其物件具有時間、日期元件。

  java.util.Calendar。抽象類,其物件具有時間、日期元件。

  java.sql.Date。實現類,其物件具有日期元件。

  java.sql.Time。實現類,其物件具有時間元件。

  java.sql.Timestamp。實現類,其物件具有時間日期元件。

  java.text.DateFormat。抽象類,其物件格式化時間日期。

我們一般會使用的類java.util.Datejava.util.Calendar

java.sql.Timestampjava.text.DateFormat進行時間日期操作,因為他們有完全的時間日期元件和全面的格式化功能。值得注意的是java.sql.Date沒有時間元件,而java.sql.Time沒有日期元件

下面是用法舉例

public static void main(String[] args) {
		/**
		*	展示各個日期時間元件的輸出型別
		*/
		java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
		System.out.println(sqlDate.toString()); // 輸出結果:2015-06-25
		
		java.sql.Time sqlTime = new java.sql.Time(System.currentTimeMillis());
		System.out.println(sqlTime.toString()); // 輸出結果:09:13:43
		
		java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(System.currentTimeMillis());
		System.out.println(sqlTimestamp.toString()); // 輸出結果:2015-06-25 09:13:43.561
		
		java.util.Date utilDate = new java.util.Date(System.currentTimeMillis());
		System.out.println(utilDate.toString()); // 輸出結果:Thu Jun 25 09:13:43 CST 2015
		
		java.util.Calendar cl = java.util.Calendar.getInstance();
		System.out.println(cl.getTime().toString()); // 輸出結果:Thu Jun 25 09:13:43 CST 2015
	}
public static void main(String[] args) {
	/**
	 * java.sql.Timestamp的用法,
	 */
	@SuppressWarnings("deprecation")
	java.sql.Timestamp sqlTimestamp1 = new java.sql.Timestamp(2015,6,25,9,13,43,561);
	java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(System.currentTimeMillis());
	System.out.println(sqlTimestamp); 
	
	Boolean isAfter = sqlTimestamp.after( sqlTimestamp1 );
	System.out.println( isAfter );    //false
	
	Boolean isBefore = sqlTimestamp.before( sqlTimestamp1 );
	System.out.println( isBefore );   //true
	//用於比較兩個時間點的長度,單位毫秒
	Long gettimes = sqlTimestamp.getTime(); 
	System.out.println( gettimes );   //輸出 :1435196988250
	//將字串型別轉為 Timestamp 型別
	java.sql.Timestamp sqlTimestamp2 = java.sql.Timestamp.valueOf( "2015-06-25 09:48:16.524" );
	System.out.println( sqlTimestamp2 );   //輸出:2015-06-25 09:48:16.524	
}


public static void main(String[] args) {
		/**
		 * java.text.SimpleDateFormat的用法
		 */
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Timestamp now = new Timestamp(System.currentTimeMillis());
		System.out.println(now); // 2015-06-25 14:27:41.477
		String time = df.format(now);
		System.out.println(time); // 2015-06-25 14:27:41
		System.out.println(Timestamp.valueOf(time)); // 2015-06-25 14:27:41.0

		Date now1 = new Date();
		System.out.println(now); // 2015-06-25 14:27:41.477
		String time1 = df.format(now1);
		System.out.println(time1); // 2015-06-25 14:27:41
		System.out.println(Timestamp.valueOf(time1)); // 2015-06-25 14:27:41.0

	}


public static void main(String[] args) {
	/**
	 * java.util.Calendar的用法
	 */
	Calendar calendar1 = Calendar.getInstance();
	System.out.println(calendar1); // java.util.GregorianCalendar[time=1435214975097,areFieldsSet=true,
	// areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",
	// offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],
	// firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2015,MONTH=5,
	// WEEK_OF_YEAR=26,WEEK_OF_MONTH=4,DAY_OF_MONTH=25,DAY_OF_YEAR=176,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=4,
	// AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=49,SECOND=35,MILLISECOND=97,ZONE_OFFSET=28800000,DST_OFFSET=0]

	// 獲取時間
	Date date1 = calendar1.getTime();
	System.out.println(date1); // Thu Jun 25 14:49:35 CST 2015
	System.out.println(calendar1.getWeeksInWeekYear()); // 52
	System.out.println(calendar1.get(Calendar.DAY_OF_MONTH)); // 25
	System.out.println(calendar1.get(Calendar.HOUR_OF_DAY)); // 14

	}