浅谈SimpleDateFormat格式化星期踩坑

   项目中某个模块有个导入功能,使用起来偶有发现导入的记录是空的,一开始没注意,以为是记录冲突了,没导成功,而且是已上线的功能,就没太在意。

  直到有一天,测试找到我说导入不了了。看了下源码,大概是导入一段时间内,指定某几个星期几的数据,没看出什么问题。

  本地运行跑了起来,好家伙,本地导入一点问题没有。怀疑是代码不同步,把线上的代码重发了一遍不行。我这凡胎肉眼看不出问题,没法了,只能打印些主要日志,来看问题了。

本地执行日志

线上日志

百度搜了一下,原来SimpleDateFormat如果不设置语言参数,会自动调用Local获取一些本地的默认参数

Locale.getDefault(Locale.Category.FORMAT)

,其中包含了语言参数

languageKey

windows本地化设置为中文了,但是linux默认还是英文,所以转换出来的星期语言不一样。为了保证达到预期的效果,还是按需加上语言参数吧。

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEEE");

改成

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEEE", Locale.SIMPLIFIED_CHINESE);

好,问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值