Відповіді:
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)
РЕДАКТУЙТЕ:
перегляньте документацію Форматтера, щоб дізнатися, що означає 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".
05/30/17 00:39:18.
Для цього конкретного питання стандартна пропозиція java.text.SimpleDateFormatпрацює, але має нещасний побічний ефект, який SimpleDateFormat не є безпечним для потоків і може стати джерелом особливо неприємних проблем, оскільки він пошкодить ваш вихід у багатопотокових сценаріях, і ви не будете будь-які винятки!
Я настійно рекомендую подивитися на Джоду для чогось подібного. Чому? Це набагато багатша та інтуїтивніша бібліотека часу / дат для Java, ніж поточна бібліотека (і основа нової нової стандартної бібліотеки дат / часу Java, тому ви будете вивчати швидкий стандарт API).
Якщо ви використовуєте MySQL і хочете, щоб сама база даних здійснила перетворення, скористайтеся цим:
Якщо ви віддаєте перевагу форматування за допомогою Java, використовуйте це:
SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );
Використовуйте a DateFormat. У інтернаціоналізованому додатку використовуйте формат, наданий користувачем getInstance. Якщо ви хочете чітко контролювати формат, створіть новий SimpleDateFormat.