Пользовательская дата в формате Java для MySQL DATETIME - PullRequest
3 голосов
/ 19 июля 2011

У меня есть строка со значением в формате: 01 июля 2011 12:52:00.

Я хотел бы отформатировать это для вставки в базу данных MySQL с типом DATETIME.

Я понимаю, что мне нужно получить его в форме 01-07-2011 12:52:00, но я не могу понять, как это сделать.

Какие-нибудь решения?

Ответы [ 3 ]

4 голосов
/ 19 июля 2011

@ Джигар правильный, если не краткий.Но, похоже, вам может понадобиться больше информации, и я собираюсь ее накормить ложкой.

Во-первых, вам не следует пытаться форматировать дату в соответствии с mysql.Вы должны передавать Date в качестве параметра к вашему sql-запросу (не создавая String of sql).

Чтобы проанализировать дату из вашего ввода, попробуйте код, подобный этому:

public static void main(String[] args) throws Exception {
    String input = "01-Jul-2011 12:52:00";
    SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
    Date date = format.parse(input);
    System.out.println(date); // "Fri Jul 01 12:52:00 EST 2011"
}

Вот пример того, как вы делаете вызовы sql, используя параметры передачи JDBC-соединителя:

Date date = format.parse(input);
jdbcConnection.createStatement().execute("insert into mytable (id, some_date) values (?, ?)", new Object[]{1, date});

Вам не нужно беспокоиться о том, как отформатировать дату для mysql - пусть драйвер JDBC сделает это за вас.

1 голос
/ 19 июля 2011
0 голосов
/ 19 июля 2011
I suppose you mean you need to get the form "2011-07-01 12:52:00"? Here is a some example to convert between the two date representations:

String input = "01-Jul-2011 12:52:00";
java.util.Locale locale = new java.util.Locale("EN", "gb");
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MMMM-yy HH:mm:ss", locale);
try
{
    java.util.Date date = sdf.parse(input);
    java.text.SimpleDateFormat sdf2 = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss", locale);
    String output = sdf2.format(date);
    System.out.println("input: " + input + "\noutput: " + output);
}
catch (java.text.ParseException e)
{
    // error handling goes here
    e.printStackTrace();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...