您的位置:首页 > 编程语言 > Java开发

java中字符串转换成Date类型本地化问题

2010-07-18 15:16 176 查看

 

   打算把以下字符串“ss = "Fri, 18 Jun 2010 12:25:34 +0000”,转换成Date格式对象,发现老是报错。

原来用的simpledateformate对象这样生成的。

SimpleDateFormat ee = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z")

 一直报错,后来才发现涉及到本地化的问题,也就是你如果在美国并且用英文版本的win7是可以正常运行这段代码的。但在中国是不行的。中国需要用到这样的构造方法。

SimpleDateFormat ee = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z",   new DateFormatSymbols(Locale.US));

 Locale.US是关键点哦。

 

当然这个问题还有另外一种解决方法,就是java运行时候,你给jvm指定locale的值。

-Duser.language=en -Duser.country=US

 

完整的测试代码如下:

SimpleDateFormat ee = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z",   new DateFormatSymbols(Locale.US));String ss = ee.format(Calendar.getInstance().getTime()   );
System.out.println(ss);

ss = "Fri, 18 Jun 2010 12:25:34 +0000";
Date d = ee.parse(ss);
System.out.println("date: " + d );
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐