SimpleDateFormat语言环境
2011-09-26 13:35
211 查看
对于一个日期格式的字符串,比如"4 Sep 2011",怎么把它解析为一个日期类呢?
很简单,用java.text.SimpleDateFormat对象的parse方法啊。
运行一看,结果报异常:
java.text.ParseException: Unparseable date: "4 Sep 2011"
不知怎么解决。于是查API,也没发现。
后来,回过头来看这个字符串,它不同于我们平常见到的格式(比如2011/9/4、4/9/2011),
原来它是美国语言环境的格式,所以联想到可能跟本地化有关。因为安装的JDK是中文版的。
而且SimpleDateFormat有一个构造函数是带Locale参数的。于是在构造函数中添加一个Locale参数:
运行,无异常,结果是: Sun Sep 04 00:00:00 CST 2011
很简单,用java.text.SimpleDateFormat对象的parse方法啊。
String str = "4 Seq 2011"; SimpleDateFormat sdf = new SimpleDateFormat("d MMM yyyy"); Date time = sdf.parse(str);
运行一看,结果报异常:
java.text.ParseException: Unparseable date: "4 Sep 2011"
不知怎么解决。于是查API,也没发现。
后来,回过头来看这个字符串,它不同于我们平常见到的格式(比如2011/9/4、4/9/2011),
原来它是美国语言环境的格式,所以联想到可能跟本地化有关。因为安装的JDK是中文版的。
而且SimpleDateFormat有一个构造函数是带Locale参数的。于是在构造函数中添加一个Locale参数:
SimpleDateFormat sdf = new SimpleDateFormat("d MMM yyyy", Locale.US);
运行,无异常,结果是: Sun Sep 04 00:00:00 CST 2011
相关文章推荐
- 多语言环境下,使用SimpleDateFormat格式化时间字符串的时候,不能正确显示阿拉伯数字
- Java continue break 制作简单聊天室程序,屏蔽不文明语言,显示每句话聊天时间 for(;;) SimpleDateFormat("yyyy-MM-dd hh:mm:ss") equalsIgnoreCase
- Date 与 SimpleDateFormat
- 关于SimpleDateFormat安全的时间格式化线程安全问题
- android 利用SimpleDateFormat格式化时间不准确的问题
- SimpleDateFormat显示格式如2017-05-20 15:00:10,怎么显示为24小时的格式,而不是2017-05-20 3:00:10
- 深入理解Java:SimpleDateFormat安全的时间格式化
- SimpleDateFormat使用具体解释
- SimpleDateFormat 的月份问题
- 数据库,时间为空时的判断,SimpleDateFormat要做判断
- SimpleDateFormat 的 format 方法使用详解
- Java Date SimpleDateFormat
- 53、SimpleDateFormat使用详解
- Android --- 获取12/24制系统时间(使用SimpleDateFormat和Calendar)
- java SimpleDateFormat
- Java之3.Math类、Date、SimpleDateFormat
- SimpleDateFormat的线程安全性
- SimpleDateFormat格式化日期用法
- SimpleDateFormat安全的时间格式化
- 【转】SimpleDateFormat 时间处理错误等奇葩原因 非线程安全处理