如何格式化java.sql时间戳来显示?

如何合成一个java.sql时间戳我喜欢? (对于string,用于显示目的)

java.sql.Timestamp扩展java.util.Date 。 你想要的东西是:

 String S = new SimpleDateFormat("MM/dd/yyyy").format(myTimestamp); 

包括时间:

 String S = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp); 

使用String.format(或java.util.Formatter ):

 Timestamp timestamp = ... String.format("%1$TD %1$TT", timestamp) 

编辑:
请参阅Formatter的文档以了解TD和TT的含义:点击java.util.Formatter

第一个“T”代表:

 't', 'T' date/time Prefix for date and time conversion characters. 

和'T'后面的字符:

 'T' Time formatted for the 24-hour clock as "%tH:%tM:%tS". 'D' Date formatted as "%tm/%td/%ty". 

对于这个特定的问题, java.text.SimpleDateFormat的标准build议工作,但有不幸的副作用, SimpleDateFormat 不是线程安全的 ,可以是特别讨厌的问题的来源,因为它会破坏你的输出在multithreading场景,你不会得到任何例外!

强烈build议看看乔达这样的事情。 为什么? 这是一个比当前库更加丰富和更直观的Java时间/date库(以及即将推出的新的标准Javadate/时间库的基础,因此您将学习即将成为标准API)。

如果您使用MySQL并希望数据库本身执行转换,请使用以下命令:

DATE_FORMAT(date,格式)

如果您更喜欢使用Java格式化,请使用以下命令:

java.text.SimpleDateFormat中

 SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy"); dateFormat.format( new Date() ); 

使用DateFormat 。 在国际化的应用程序中,使用getInstance提供的格式。 如果你想明确地控制格式,你自己创build一个新的SimpleDateFormat

String timeFrSSHStr = timeFrSSH.toString();