1. 程式人生 > >java中Date, DateFormat的一些方法總結

java中Date, DateFormat的一些方法總結

1:DateDemo1類

/*
 * 取得系統的時間
 */
public class DateDemo1 {
	public static void main(String args[]) {
		System.out.println(System.currentTimeMillis());
		
	}

輸出為:1311060393171

執行結果會顯示從1970年1月1日開始到取得系統時間為止所經過的毫秒數,例如1115346430703這個數字,但這樣的數字沒有人確切瞭解它的意 義是什麼,您可以使用Date類別來讓這個數字變的更有意義一些

2:DateDemo2類

public class DateDemo2 {
	@SuppressWarnings("deprecation")
	public static void main(String args[]) {
		Date date = new Date();
		
		System.out.println("date.toString: " + date.toString());
		System.out.println("date: " + date.getDate());
		System.out.println("day: " + date.getDay());
		System.out.println("hour: " + date.getHours());
		System.out.println("minutes: " + date.getMinutes());
		System.out.println("month: " + (date.getMonth() + 1));
		System.out.println("seconds: " + date.getSeconds());
		System.out.println("time: " + date.getTime());
		System.out.println("timezone: " + date.getTimezoneOffset());
		System.out.println("year: " + (date.getYear() + 1900));
		
		Calendar calendar = Calendar.getInstance();
		int year = calendar.get(Calendar.YEAR);
		int month = calendar.get(Calendar.MONTH) + 1;
		int day = calendar.get(Calendar.DATE);
		int hour = calendar.get(Calendar.HOUR);
		int minute = calendar.get(Calendar.MINUTE);
		int second = calendar.get(Calendar.SECOND);
		
		System.out.println("----------Calendar-------");
		System.out.println("year: " + year);
		System.out.println("month: " + month);
		System.out.println("day: " + day);
		System.out.println("hour: " + hour);
		System.out.println("minute: " + minute);
		System.out.println("second: " + second);
		
	}
}
用date獲得時間的值,如時、分、秒、月、日、年得方法已經過時,需要改用Calendar的方法來獲取時間的值

輸出結果為:

date.toString: Tue Jul 19 15:32:42 CST 2011
date: 19
day: 2
hour: 15
minutes: 32
month: 7
seconds: 42
time: 1311060762362
timezone: -480
year: 2011
----------Calendar-------
year: 2011
month: 7
day: 19
hour: 3
minute: 32
second: 42

3:DateDemo3類

public class DateDemo3 {
	public static void main(String args[]) {
		Date date = new Date();
		
		/*
		 * DateFormat會依電腦上的區域設定顯示時間格式,EE表示星期,MM表示月份、dd表示日期,而yyyy是西元,每個字元的設定都各有其意義
		 * 從Date-->String
		 */
		DateFormat dateFormat = new SimpleDateFormat("EE-MM-dd-yyyy");
		System.out.println(dateFormat.format(date));
		
		DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
		System.out.println(format1.format(date));
		
		DateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println(format2.format(date));
	
		/*
		 * 從String-->Date
		 */
		String dateStr = "2011-7-19";
		try {
			Date dateTrans = format1.parse(dateStr);
			//System.out.println(dateTrans.toString()); 
			System.out.println(dateTrans.toLocaleString());  //轉換為本地的形式
		} catch (ParseException e) {
			e.printStackTrace();
		}
		
	}
}
使用DateFormat來格式化日期資料,上面部分為從Date-->String,下面的部分為從String-->Date

輸出結果為:

星期二-07-19-2011
2011-07-19
2011-07-19 15:33:27
2011-7-19 0:00:00

4:DateDemo4類
public class DateDemo4 {

	public static void main(String[] args) {
		
		Date date = new Date();
		DateFormat shortFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
		DateFormat mediumFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
		DateFormat longFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
		DateFormat fullFormat = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);
		
		System.out.println(shortFormat.format(date));
		System.out.println(mediumFormat.format(date));
		System.out.println(longFormat.format(date));
		System.out.println(fullFormat.format(date));
		
	}

}

輸出結果為:
11-7-19 下午3:33
2011-7-19 15:33:54
2011年7月19日 下午03時33分54秒
2011年7月19日 星期二 下午03時33分54秒 CST

5:DateDemo5類
public class DateDemo5 {
	public static void main(String args[]) {
		Date date = new Date();
		
		Locale locale = new Locale("en", "US");
		
		DateFormat shortDateFormat = DateFormat.getDateInstance(DateFormat.SHORT, locale);
		DateFormat mediumDateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
		DateFormat longDateFormat = DateFormat.getDateInstance(DateFormat.LONG, locale);
		DateFormat fullDateFormat = DateFormat.getDateInstance(DateFormat.FULL, locale);
		
		System.out.println(shortDateFormat.format(date));
		System.out.println(mediumDateFormat.format(date));
		System.out.println(longDateFormat.format(date));
		System.out.println(fullDateFormat.format(date));
		
	}
}

輸出結果為:
7/19/11
Jul 19, 2011
July 19, 2011
Tuesday, July 19, 2011