com.ibm.icu.text.SimpleDateFormat 的陷阱

在项目中经常用到SimpleDateFormat,从未出过错! 
今天发现了一个奇怪的问题,一个一直正常运行的线上服务,突然在今天日志时间记录超前了1小时,奇怪啊!找到该项目源码,测试了一下,的确时间超前了一个小时。明明现在是10:15分,格式化出来却是11:15分。同样的测试代码【main方法】拷到别的机器运行正常。在本机直接打印new Date()时间正常。说明是格式化时间(SimpleDateFormat)出错了,可是之前一直都没错过啊,SimpleDateFormat绝对不会出现这种错误的。无奈啊,现在确实是出错了,那就看看SimpleDateFormat吧!回到头部一看傻眼了,头部引入的是icu4j-2.6.1.jar包中的:
Java代码   收藏代码
  1. import com.ibm.icu.text.SimpleDateFormat;  
貌似不是我们经常用的:
Java代码   收藏代码
  1. import java.text.SimpleDateFormat;  
(rt.jar包)难道是这里错了。 
带着将信将疑我们换成了“import java.text.SimpleDateFormat;”,果然,结果正确了。也不知道当初是否受到“ibm”字眼的影响,错误的选择了这个。稍后有时间研究一下ibm这个类吧。哎,留下此文以作纪念吧。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值