我正在尝试修改一些代码以使用Joda-Time
而不是java.sql.Timestamp
目前代码正在使用Threadlocal
和 SimpleDateFormat:
public static final ThreadLocal<DateFormat> FORMAT_TIMESTAMP = new ThreadLocal<DateFormat>() {
@Override
protected DateFormat initialValue() {
return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
}
};
public static String format(Timestamp timestamp) {
return FORMAT_TIMESTAMP.get().format(timestamp);
}
我的理解是Joda-time是线程安全的,所以没必要使用ThreadLocal
考虑到这一点,我将代码修改为:
public static String format(Instant timestamp) {
Instant formated = Instant.parse(timestamp.toString(), DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssXXX"));
return formated.toString();
}
如果我需要稍后在代码中将值插入数据库,我计划使用此方法。
假设我以正确的方式进行此操作,是否有格式化之DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssXXX")
类的
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX")
目前我得到一个Invalid format
例外