2010-06-05 20 views
0

Если у меня есть метод, как это:Преобразование строки в java.sql.Date и java.sql.Time

public static String convertDateTimeToString(DateTime dt) { 
    return dt.getDate() + " " + dt.getTime(); 
} 

Который берет DateTime объект моего собственного, который содержит java.sql.Date и java.sql.Time, что лучший способ обратить вспять процесс, чтобы я мог подстроить java.sql.Date и java.sql.Time из строки?

Или если DateTime dt является объектом JodaTime ?

Если это можно сделать без ссылки на java.util.Date.

ответ

8

Посмотрите на SimpleDateFormat класс. Вот tutorial.

Вам нужно что-то вроде этого:

String datetimeString; 
Date result; 
SimpleDateFormat formatter = new SimpleDateFormat("EEE d MMM yy hh:mm:ss"); 
result = formatter.parse (datetimeString); 
+0

Спасибо. Единственная проблема, с которой я сталкиваюсь, заключается в том, что результатом Date является Java.util.date, тогда как мне нужны Java.sql.date и Java.sql.time. –

+2

@Mr Morgan: но это не проблема. Вы можете легко создать экземпляр sql.Date: 'java.sql.Date sqlDate = new java.sql.Date (result.getTime());'. – Roman

+1

Ну, похоже, он работает следующим образом: String datetimeString = "2010-05-23 23:32:45"; Результат даты; SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd hh: mm: ss"); result = formatter.parse (datetimeString); java.sql.Date sqlDate = new java.sql.Date (result.getTime()); java.sql.Time sqlTime = new java.sql.Time (result.getTime()); System.out.println ("SQL date" + sqlDate + "" + sqlTime); Благодарю. –

7

Вы можете использовать valueOf метод java.sql.Time для преобразования строки в java.sql.Time и использовать valueOf метод Java .sql.Date, чтобы преобразовать String в java.sql.Date

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