晴空的专栏

为自己,也为他人

Java Date and Time系列(七)- java.text.SimpleDateFormat介绍

java.text.SimpleDateFormat类我们一般用来它实现字符串于java.util.Date之间的互转,比如将Date实例转换为指定的字符串表示形式,

或者将一个字符串的日期表示转为具体的Date实例。


创建SimpleDateFormat实例

可以像下面一样创建一个SimpleDateFormat实例:

String pattern = "yyyy-MM-dd";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
其中pattern参数用来指定字符串和日期互转时的格式。


日期转换成字符串

使用format()方法可以将一个日期类型的值转换为字符串表示形式,比如:

String pattern = "yyyy-MM-dd";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);

String date = simpleDateFormat.format(new Date());
System.out.println(date); // 2013-12-04
注意,format()方法的参数必须是java.util.Date类型的实例。


字符串转换为日期

使用parse()方法可以可以将一个日期形式的字符串转换为一个java.util.Date类型:

String pattern = "yyyy-MM-dd";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);

Date date = simpleDateFormat.parse("2013-12-04");

根据具体的语言环境创建SimpleDateFormat实例

具体的语言环境可以通过Locale类表示,在这先不做介绍了。想通过具体语言环境来创建SimpleDateFormat实例可以像下面那样:

String pattern = "EEEEE MMMMM yyyy HH:mm:ss.SSSZ";
SimpleDateFormat simpleDateFormat =
        new SimpleDateFormat(pattern, new Locale("zh", "ZH")); //指定具体语言环境

String date = simpleDateFormat.format(new Date());
System.out.println(date);
输出如下:

星期三 十二月 2013 17:09:04.757+0800
我们发现星期和月份的表示都是中文的,如果new Locale("zh", "ZH")换成new Locale("en", "EN"),那输出就会变为:Wednesday December 2013 17:09:04.757+0800

常用日期格式

dd-MM-yy                            31-01-12
dd-MM-yyyy                          31-01-2013
MM-dd-yyyy                          01-31-2013
yyyy-MM-dd                          2013-01-31
yyyy-MM-dd HH:mm:ss 	            2013-01-31 23:59:59
yyyy-MM-dd HH:mm:ss.SSS             2013-01-31 23:59:59.999
yyyy-MM-dd HH:mm:ss.SSSZ            2013-01-31 23:59:59.999+0100
EEEEE MMMMM yyyy HH:mm:ss.SSSZ 	    Saturday November 2013 10:45:42.720+0100

阅读更多
个人分类: Java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Java Date and Time系列(七)- java.text.SimpleDateFormat介绍

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭