org.apache.commons.lang.time包的一个问题

由于simpleDateFormat非线程安全,所以想用org.apache.commons.lang.time解决日期时间问题。
FastDateFormat这个东西的确好用。可以很方便的将Date格式化成想要的string,但是我找了一圈也没有找到类似
simpleDateFormat的parse方法,将string变成date...查看最新版本的api(2.4),发现有这么个方法parseObject,但查原代码一看,晕:
[code="java"]
public Object parseObject(String source,ParsePosition pos){
pos.setIndex(0);
pos.setErrorIndex(0);
return null;
}
[/code]
怪不得每次返回都是空呢。。。,有没有人在不用simpleDateFormat的情况下把string转化成date的?
[b]问题补充:[/b]
对于一般的ssh项目,不都是多线程环境吗?
[b]问题补充:[/b]
当然要考虑页面输入问题了,在页面捕获到的肯定是string型的吧.当然要转化成date了...
[b]问题补充:[/b]
每次new 一个当然没有问题...但是一般都封装成utils,都是static....,想写个共通的方法!....
[b]问题补充:[/b]
哦,其实bohemia的方法也行,我一般都是这么写的....
[code="java"]
private static DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
[/code]
然后对这个实例变量在具体的方法操作....其实这样也可以哦,每次生成一个新的.
[code="java"]
public static String getDateStr(){
new SimpleDateFormat();
[/code]

Static 变量?

public static String getDateStr(){
new SimpleDateFormat();
///这样也没问题啊. 你准备怎么用啊?
}

org.apache.commons.lang.time.DateFormatUtils

格式化需要线程同步吗?

你格式化一般是输出吧。。
你取得一个Entity,本身就是一个实例的。
commons.lang中间的东西是给没有JDK1.4的准备的。

直接用JDK里的就可以了。
你每次提交都是创建的新实例啊。不存在同步的问题。

[quote]simpleDateFormat非线程安全[/quote]

如果你每次线程中都如下调用

SimpleDateFormat s = new SimpleDateFormat();

这样本身就没并发访问的啊. 也不用考虑是否线程安全啊.

给出你的应用代码吧。。。
这样也说不明白。

:x

你的是不是这样

public static String parseDate(Date date){
//.....
return str;
}

如果这样就不用考虑啊。
你的date是新实例。
除非你是生成的Date单例。