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();
}
コードの後半で値を DB に挿入する必要がある場合は、この方法を使用する予定です。
私がこれを正しい方法で行っていると仮定すると、とにかく次のDateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssXXX")
ようにフォーマットすることはありますか
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX")
現時点ではInvalid format
例外が発生しています