复习下日期的不同表示

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

public class DateTest {
	public static void main(String[] args) throws ParseException {
		DateTest dateTest=new DateTest();
		dateTest.getSystemCurrentTime();
		dateTest.getCurrentDate();
//		Date date = new Date(); 
		Calendar calendar=Calendar.getInstance();
		calendar.set(2011, 1, 1, 1, 1, 1);
		Date date=calendar.getTime();
		dateTest.differentOutputFormat(date);
		dateTest.parseDate();
	}
	/**
	 * 毫秒表示(目前有13位)
	 */
	public void getSystemCurrentTime() { 
		System.out.println("----系统当前时间----"); 
        System.out.println(System.currentTimeMillis()); 
    }
	public void getCurrentDate() { 
        System.out.println("----获取系统当前日期----"); 
        Date date = new Date(); 
        System.out.println("现在的日期是->" + date.toString()); 
        System.out.println("自1970年1月1日0时0分0秒开始至今所经历的毫秒数->" + date.getTime()); 
    } 
	public void differentOutputFormat(Date date){
		 System.out.println("----用不同格式显示日期----"); 
        DateFormat df1 = DateFormat.getInstance();
        DateFormat df2 = DateFormat.getDateInstance(DateFormat.DEFAULT);
        DateFormat df2_2 = DateFormat.getDateInstance(DateFormat.DEFAULT,Locale.US);
        DateFormat df3 = DateFormat.getDateInstance(DateFormat.SHORT);
        DateFormat df3_2 = DateFormat.getDateInstance(DateFormat.SHORT,Locale.US);
        DateFormat df4 = DateFormat.getDateInstance(DateFormat.MEDIUM);
        DateFormat df4_2 = DateFormat.getDateInstance(DateFormat.MEDIUM,Locale.US);
        DateFormat df5 = DateFormat.getDateInstance(DateFormat.LONG);
        DateFormat df5_2 = DateFormat.getDateInstance(DateFormat.LONG,Locale.US);
        DateFormat df6= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EE");
        DateFormat df6_2= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EE",Locale.US);
        String pattern="以下按照字母逐增排列如字母y-> 'y yy yyy yyyy Y YY YYY YYYY'" +
        		"\n'年代(只能大写)-----------------G-------------->'G GG GGG GGGG" +
        		"\n'年份(大小写一致) ---------------y-------------->'y yy yyy yyyy Y YY YYY YYYY" +
        		"\n'月份及分钟(小:分钟 大:月份)---------M----->'m mm mmm mmmm M MM MMM MMMM" +
        		"\n'周数(小:年中的周数 大:月份中的周数)---w--->'w ww www wwww W WW WWW WWWW"+
        		"\n'天数(小:年中的天数 大:月份中的天数)---d--->'d dd ddd ddd D DD DDD DDDD"+
        		"\n'星期(只能大写)------------------F--------------->'F FF FFF FFFF"+
        		"\n'星期中的天数(只能大写)-------------E----------->'E EE EEE EEEE"+
        		"\n'Am/pm 标记(只能小写)--------------a---------->'a aa aaa aaaa"+
        		"\n'小时(小:1-12 大:0-23)--------------H--------->'h hh hhh hhhh H HH HHH HHHH"+
        		"\n'小时(小:1-24 大:0-11)---------------k--------->'k kk kkk kkkk K KK KKK KKKK"+
        		"\n'秒数(小:分钟下的秒数 大:毫秒数)-------s------->'s ss sss ssss S SS SSS SSSS"+
        		"\n'时区(小:General time zone 大:RFC 822 time zone)Z->'z zz zzz zzzz Z ZZ ZZZ ZZZZ"
        		;
        DateFormat df7= new SimpleDateFormat(pattern);
        DateFormat df7_2= new SimpleDateFormat(pattern,Locale.US);
        
        System.out.println("默认的日期格式---------------------------------------->"+df1.format(date));
        System.out.println("给定格式化风格(DEFAULT)---------------------------->"+df2.format(date));
        System.out.println("给定格式化风格(DEFAULT)及语言环境(US)-------->"+df2_2.format(date));
        System.out.println("给定格式化风格(SHORT)------------------------------>"+df3.format(date));
        System.out.println("给定格式化风格(SHORT)及语言环境(US)---------->"+df3_2.format(date));
        System.out.println("给定格式化风格(MEDIUM)---------------------------->"+df4.format(date));
        System.out.println("给定格式化风格(MEDIUM)及语言环境(US)--------->"+df4_2.format(date));
        System.out.println("给定格式化风格(LONG)-------------------------------->"+df5.format(date));
        System.out.println("给定格式化风格(LONG)及语言环境(US)------------->"+df5_2.format(date));
        System.out.println("自定义 yyyy-MM-dd HH:mm:ss EE -------------------->"+df6.format(date));
        System.out.println("自定义 yyyy-MM-dd HH:mm:ss EE 及语言环境(US)->"+df6_2.format(date));
        
        System.out.println("=============自定义=============\n"+df7.format(date));
        System.out.println("=============自定义及语言环境(US)=============\n"+df7_2.format(date));
	}
	
	
	public void parseDate() throws ParseException {
		String dateString = "Fri, 21 Oct 2011 5:50:44 +0000";
		System.out.println("----解析日期----"+dateString); 
		String pattern = "E, d MMM y H:m:s Z";
		DateFormat df6 = new SimpleDateFormat(pattern, Locale.US);
		Date date = df6.parse(dateString);
		System.out.println(date.toString());
	}
	
}



结果如下:
----系统当前时间----
1321099331050
----获取系统当前日期----
现在的日期是->Sat Nov 12 20:02:11 CST 2011
自1970年1月1日0时0分0秒开始至今所经历的毫秒数->1321099331050
----用不同格式显示日期----
默认的日期格式---------------------------------------->11-2-1 上午1:01
给定格式化风格(DEFAULT)---------------------------->2011-2-1
给定格式化风格(DEFAULT)及语言环境(US)-------->Feb 1, 2011
给定格式化风格(SHORT)------------------------------>11-2-1
给定格式化风格(SHORT)及语言环境(US)---------->2/1/11
给定格式化风格(MEDIUM)---------------------------->2011-2-1
给定格式化风格(MEDIUM)及语言环境(US)--------->Feb 1, 2011
给定格式化风格(LONG)-------------------------------->2011年2月1日
给定格式化风格(LONG)及语言环境(US)------------->February 1, 2011
自定义 yyyy-MM-dd HH:mm:ss EE -------------------->2011-02-01 01:01:01 星期二
自定义 yyyy-MM-dd HH:mm:ss EE 及语言环境(US)->2011-02-01 01:01:01 Tue
=============自定义=============
以下按照字母逐增排列如字母2011-> y yy yyy yyyy Y YY YYY YYYY
年代(只能大写)-----------------G-------------->公元 公元 公元 公元
年份(大小写一致) ---------------y-------------->2011 11 2011 2011 2011 11 2011 2011
月份及分钟(小:分钟 大:月份)---------M----->1 01 001 0001 2 02 二月 二月
周数(小:年中的周数 大:月份中的周数)---w--->6 06 006 0006 1 01 001 0001
天数(小:年中的天数 大:月份中的天数)---d--->1 01 001 001 32 32 032 0032
星期(只能大写)------------------F--------------->1 01 001 0001
星期中的天数(只能大写)-------------E----------->星期二 星期二 星期二 星期二
Am/pm 标记(只能小写)--------------a---------->上午 上午 上午 上午
小时(小:1-12 大:0-23)--------------H--------->1 01 001 0001 1 01 001 0001
小时(小:1-24 大:0-11)---------------k--------->1 01 001 0001 1 01 001 0001
秒数(小:分钟下的秒数 大:毫秒数)-------s------->1 01 001 0001 77 77 077 0077
时区(小:General time zone 大:RFC 822 time zone)Z->CST CST CST 中国标准时间 +0800 +0800 +0800 +0800
=============自定义及语言环境(US)=============
以下按照字母逐增排列如字母2011-> y yy yyy yyyy Y YY YYY YYYY
年代(只能大写)-----------------G-------------->AD AD AD AD
年份(大小写一致) ---------------y-------------->2011 11 2011 2011 2011 11 2011 2011
月份及分钟(小:分钟 大:月份)---------M----->1 01 001 0001 2 02 Feb February
周数(小:年中的周数 大:月份中的周数)---w--->6 06 006 0006 1 01 001 0001
天数(小:年中的天数 大:月份中的天数)---d--->1 01 001 001 32 32 032 0032
星期(只能大写)------------------F--------------->1 01 001 0001
星期中的天数(只能大写)-------------E----------->Tue Tue Tue Tuesday
Am/pm 标记(只能小写)--------------a---------->AM AM AM AM
小时(小:1-12 大:0-23)--------------H--------->1 01 001 0001 1 01 001 0001
小时(小:1-24 大:0-11)---------------k--------->1 01 001 0001 1 01 001 0001
秒数(小:分钟下的秒数 大:毫秒数)-------s------->1 01 001 0001 77 77 077 0077
时区(小:General time zone 大:RFC 822 time zone)Z->CST CST CST China Standard Time +0800 +0800 +0800 +0800
----解析日期----Fri, 21 Oct 2011 5:50:44 +0000
Fri Oct 21 13:50:44 CST 2011

你可能感兴趣的:(日期)