2016-02-03 57 views
6

是否可以转换/格式java.sql.Timestmap到具有以下格式的字符串:格式的java.sql.Timestamp为String

年月日

我知道有String做相当简单,例如:

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); 

但是,我必须与Timestamp对象一起工作。

回答

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'类型。不需要创建一个新的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()); 
} 
相关问题