2013-07-25 3 views
-1

У меня есть значение String, которое мне нужно преобразовать во время и сохранить в MySQL. [Тип данных столбца - время в таблице базы данных) Примеры значений String, с которыми я мог бы столкнуться, чтобы конвертировать в объекте времени:Преобразование простой строки во времени

Строковое время = "5:32 PM";

Строковое время = "12:00 AM";

Строковое время = "11:43 PM";

Я просмотрел несколько примеров, которые вытащили время из объекта Date, но не смогли найти пример, например, в этом случае, чтобы преобразовать его из простой строки. Основная причина, по которой мне нужно преобразовать ее во времени, - это сохранить ее в mysql.

+2

Использование SimpleDateFormat – kosa

ответ

3

Вы можете преобразовать его в java.sql.Date как:

String str = "5:32 PM"; 
DateFormat formatter = new SimpleDateFormat("hh:mm a"); 
java.util.Date date = (java.util.Date)formatter.parse(str); 
java.sql.Date sqlDate = new java.sql.Date(date.getTime()); 

Если вам нужно java.sql.Time, то:

java.sql.Time time = new java.sql.Time(date.getTime()); 

И затем использовать PreparedStatement#setTime().

+0

'java.sql.Date' не хранит время, вы должны использовать' java.sql.Time' или 'java.sql.Timestamp'. Тем не менее, лучше всего использовать простой 'java.util.Date', поскольку эти три класса из пакета' java.sql' распространяются от него. –

+0

@LuiggiMendoza Пожалуйста, добавьте это в ответ, это ценный комментарий :) – NINCOMPOOP

+0

Отлично! Спасибо за помощь! – Arun

Смежные вопросы