日付を解析するスレッドセーフな静的メソッドを使用してJavaクラスを作成したいと考えています。私は、Java 7以前の日付クラスのいくつかはスレッドセーフではないことを理解しています。この機能のJavaの8で最高のスレッドセーフな実装である何:テキストを解析するJava 8の最良の方法date to millisecond timestamp
public class DateUtil {
public static long getTimestamp(String text) {
DateFormat df = new SimpleDateFormat("M/d/yyyy");
df.setTimeZone(TimeZone.getTimeZone("America/New_York"));
long timestamp = df.parse(text).getTime();
return timestamp;
}
}
しかし、その代わりためDateFormat
の新しいインスタンスを作成する:Javaの7以前で
String text = "5/16/2008";
long timestamp = DateUtil.getTimestamp(text);
、あなたはこれを行うだろうすべての呼び出しで、このstatic getTimestamp
メソッドへのすべての呼び出しに対して1つの静的インスタンスを共有します。私はこれがスレッドセーフではないことを理解しています。
重要な要件の1つは、解析したいテキストがHH:mm:ss解像度のない「5/16/2008」のような短い日付を持つことです。
私は、Joda-Timeのような第三者のライブラリではなく、標準のJava 8クラスだけを使用したいと考えています。
サードパーティのJoda-Timeライブラリは(ほとんど) 'java.time。*'パッケージの標準Java 8クラスになっています。 –