Javaで現在のタイムスタンプを取得する必要があります 質問する

Javaで現在のタイムスタンプを取得する必要があります 質問する

Javaで現在のタイムスタンプを次の形式で取得する必要がありますMM/DD/YYYY h:mm:ss AM/PM

例えば:06/01/2000 10:01:50 AM

スレッドセーフであることも必要です。

このようなものを活用できますか?

java.util.Date date = new java.util.Date();
System.out.println(new Timestamp(date.getTime()));

またはリンク先で説明されている例ここ

ベストアンサー1

のスレッド安全性は、SimpleDateFormat使用するのと同じメソッドブロック内で作成するだけであれば問題にならないはずです。言い換えれば、ないそれをクラスの静的変数またはインスタンス変数として割り当て、複数のスレッドから呼び出すことができる 1 つ以上のメソッドで再利用します。この方法でのみ、のスレッドの安全性が明らかになります。ただし、現在のスレッドのみがアクセスするため、同じメソッド ブロック内でSimpleDateFormat同じインスタンスを安全に再利用できます。SimpleDateFormat

また、そこで使用しているクラスは、SQL データベースに/列タイプを保存または取得し、それらを に変換できるjava.sql.Timestampようにするための JDBC API に固有のものであるため、乱用しないでください。TIMESTAMPDATETIMEjava.util.Date

つまり、次のようにするはずです:

Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy h:mm:ss a");
String formattedDate = sdf.format(date);
System.out.println(formattedDate); // 12/01/2011 4:48:16 PM

おすすめ記事