2016-02-03 6 views
6

は次の形式を持っている文字列に/フォーマットjava.sql.Timestmap変換することが可能です:フォーマットをjava.sql.Timestamp

YYYYMMDD

私はStringでそれをやっていることを知っています私はTimestampオブジェクトで作業する必要があり、

String dateString = "2016-02-03 00:00:00.0"; 
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(dateString); 
String formattedDate = new SimpleDateFormat("yyyyMMdd").format(date); 

しかし:かなり単純な例です。

答えて

7

あなたはそうすることができます:

Timestamp ts = ...; 
Date date = new Date(); 
date.setTime(ts.getTime()); 
String formattedDate = new SimpleDateFormat("yyyyMMdd").format(date); 
+0

タイムスタンプは日付 – Kashyap

+0

@Kashyapを拡張:私はかなりあなたのコメントを得ることはありません。 – npinti

+0

'SimpleDateFormat.format()'は 'Timestamp'型を受け入れます。 'new Date()'を作成する必要はありません。 – Kashyap

6

java.sql.Timestampはあなたが全く同じようにそれをフォーマットすることができますので、java.util.Dateを拡張:

String formattedDate = new SimpleDateFormat("yyyyMMdd").format(date); 

解析がほぼ同じであるが、あなたはその「ミリ秒」の表現を使用して、それを構築することができます。

Timestamp timestamp = new Timestamp(new SimpleDateFormat("yyyyMMdd").parse(formattedDate).getTime()); 
1

www.joda.org/joda-time/

public static String timestampAsString(Timestamp timestamp) { 
    return DateTimeFormat.forPattern("yyyyMMdd").print(timestamp.getTime()); 
} 
関連する問題