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时应该注意导入是哪个包
分享到:
相关推荐
SimpleDateFormat类的线程安全问题和解决方案 SimpleDateFormat类的线程安全问题 SimpleDateFormat类是Java提供的日期时间转化类,用于将日期和时间类型的数据进行解析和格式化。在Java开发中,SimpleDateFormat类...
在Java编程语言中,`SimpleDateFormat` 是一个非常重要的日期和时间格式化工具类,它允许程序员以特定的模式来解析和格式化日期。当我们需要从系统获取当前时间并按照自定义格式显示时,`SimpleDateFormat` 就派上了...
DateFormat类是一个抽象类,而SimpleDateFormat类是DateFormat类的一个实现类。 知识点7: SimpleDateFormat的format()和parse()方法 SimpleDateFormat类提供了format()和parse()方法,format()方法将日期对象转化...
"Java多线程环境下SimpleDateFormat类安全转换" 在Java多线程环境下,SimpleDateFormat类的使用可能会出现线程安全问题。本文主要介绍了Java多线程环境下SimpleDateFormat类的安全转换,通过示例代码详细介绍了如何...
【Date类】 Date类是Java中用于处理时间和日期的...Date类是最基础的,而Calendar类提供了更丰富的操作,SimpleDateFormat则负责日期和时间的格式化和解析。在实际开发中,根据需求选择合适的类来处理日期和时间问题。
SimpleDateFormat 是 Java 语言中的一种日期和时间格式化类,用于将日期和时间格式化为字符串或将字符串解析为日期和时间。它是 DateFormat 的子类,继承自 java.text.Format。 SimpleDateFormat 的继承关系 ...
JAVA 使用 SimpleDateFormat 类表示时间代码实例 JAVA 中的日期和时间处理是非常重要的,特别是在程序开发中,经常需要处理日期和时间的相关数据。在 JAVA 中,我们可以使用 java.util 包中的 Date 类来获取当前...
在JavaScript中,没有内置的`SimpleDateFormat`类,它是一个Java中的类,用于日期和时间的格式化。然而,由于JavaScript在处理日期时的功能相对有限,开发者常常需要自定义函数或者使用第三方库来实现类似的功能。这...
SimpleDateFormat 是 Java 中的一个日期和时间格式化类,它继承自 DateFormat 类。SimpleDateFormat 允许用户以各种方式格式化日期和时间,例如以年、月、日、时、分、秒等不同的格式来表示日期和时间。 ...
在Java编程语言中,`SimpleDateFormat`和`Calendar`是两个重要的日期和时间处理类,它们在处理日期格式化、解析以及日期计算方面扮演着重要角色。本文将深入探讨这两个类的功能、用法以及它们之间的关系。 `...
`SimpleDateFormat`是Java中用于格式化日期和时间的一个类。它允许我们自定义日期/时间的显示格式,这在实际开发中非常有用,尤其是在处理不同地区或语言环境下的日期时间显示需求时。 #### 二、SimpleDateFormat的...
在Java编程语言中,`SimpleDateFormat`类是一个广泛使用的日期时间格式化工具,但它的线程安全性是一个常常被开发者忽视的问题。标题指出的"simpleDateFormat是线程不安全的",意味着在多线程环境下,如果多个线程...
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); date.setTime(time); System.out.println(sdf.format(date)); 发现时间于想要的时间不符,请运行Time.reg文件
日期操作。。。基础的SimpleDateFormat格式化日期!!操作!》初级学习代码
NULL 博文链接:https://chaoyi.iteye.com/blog/2082317
在Java编程语言中,日期和时间的格式化是通过`java.text.DateFormat`和`java.text.SimpleDateFormat`类来实现的。这两个类主要用于将日期和时间对象转换为人类可读的字符串,以及将这些字符串解析回日期和时间对象。...
4. 使用`SimpleDateFormat`类格式化日期和时间,使其可读性更强。 5. 最后,将文件名和格式化后的时间打印出来。 示例代码: ```java import java.io.File; import java.io.IOException; import java.text....
目录SimpleDateFormat诡异bug复现SimpleDateFormat诡异bug字符串日期转Date日期(parse)Date日期转String类型(format)SimpleDateFormat出现bug的原因如何解决SimpleDateFormat多线程安全问题局部变量使用...
1.创建SimpleDateFormat对象,确定日期被格式化的格式 2.使用循环,在循环中调用Thread的sleep方法,让线程休眠1s后打印当前时间的字符串
这个详细教程将引导你了解如何有效地使用`SimpleDateFormat`类。以下是关于`SimpleDateFormat`的一些核心知识点: 1. **类介绍**: `SimpleDateFormat`是`java.text.SimpleDateFormat`类的一个实例,它实现了`...