首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

让人蛋痛的SimpleDateFormat类

2012-10-31 
让人蛋疼的SimpleDateFormat类import java.text.ParseExceptionimport java.util.Dateimport junit.fram

让人蛋疼的SimpleDateFormat类

import java.text.ParseException;import java.util.Date;import junit.framework.TestCase;import com.ibm.icu.text.SimpleDateFormat;public class TestDate extends TestCase{private SimpleDateFormat icusdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");private java.text.SimpleDateFormat javaTextsdf=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");public void testFomat(){Date d=new Date();System.err.println("com.ibm.icu.text.SimpleDateFormat格式化结果"+icusdf.format(d));System.err.println("java.text.SimpleDateFormat格式化结果:"+javaTextsdf.format(d));}public void testParse() throws ParseException{String dateStr="2011-08-19 17:40:00";System.err.println("com.ibm.icu.text.SimpleDateFormat解析结果"+icusdf.parse(dateStr));System.err.println("java.text.SimpleDateFormat解析结果:"+javaTextsdf.parse(dateStr));}}}

?打印结果:

?? com.ibm.icu.text.SimpleDateFormat格式化结果2011-08-19 18:45:10
?? java.text.SimpleDateFormat格式化结果:2011-08-19 17:45:10
?? com.ibm.icu.text.SimpleDateFormat解析结果Fri Aug 19 16:40:00 CST 2011
?? java.text.SimpleDateFormat解析结果:Fri Aug 19 17:40:00 CST 2011

由上面打印结果可以看出,同样的类,同样的方法,就因为包不同格式化或解析后的结果也都不同

得出结果:com.ibm.icu.text.SimpleDateFormat与java.text.SimpleDateFormat比较

? 1.fomat()方法,前者比后者大一小时

? 2.parse()方法,前者比后者小一小时

? 3.当然 java.text.SimpleDateFormat得到的结果是正确的

com.ibm.icu.text.SimpleDateFormat是ICU4J中的一个类。ICU4J 是IBM的国际化开发组件ICU的Java语言实现版本。为何会发生这种怪异现象,我也没搞清楚,初步猜测是因为ibm这个包的默认时区不同。所以大家用ICU这个SimpleDateFormat时应该注意导入是哪个包

?

热点排行