在一次处理美国的网站时,时期格式为Dec 8, 2016。我们知道Dec这种表示月份的需要用MMM表示,于是我用一下代码解析这个时间
new SimpleDateFormat("MMM d, yyyy").parse(s)谁知运行居然出错。为什么会出错呢?在确认格式没写错后,最后我意识到应该是Locale导致的问题,我的Locale是zh_CN。于是我改成这样:
new SimpleDateFormat("MMM d, yyyy", Locale.US).parse(s)果然没问题了。
那么MMM在中文里显示为什么呢?试着写了下面的测试代码:
new SimpleDateFormat("MMM d, yyyy").format(new Date())
运行后显示为:
十一月 8, 2017这个问题说明,日期格式和Locale还是有关系的。只是我们一般用2017-08-28这样的纯数字表示日期,不会碰到问题而已。
本文讲述了在处理特定日期格式时遇到的问题及解决方法。通过更改Locale设置,成功解析了美国日期格式,并探讨了不同地区设置对日期解析的影响。
1319

被折叠的 条评论
为什么被折叠?



