关闭

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

标签: javaSimpleDateFormat日期转换
3386人阅读 评论(1) 收藏 举报
分类:

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

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:57122次
    • 积分:882
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:4篇
    • 译文:1篇
    • 评论:3条
    文章分类