Как я могу преобразовать строку в формат "datetime"? - PullRequest
0 голосов
/ 10 ноября 2011

Я в основном пытаюсь преобразовать строку, похожую на эту: "2011-11-9 18:24:12.3", в формат, который я могу вставить в таблицу базы данных, утверждая, что этот конкретный столбец имеет тип "datetime".Я подумал, что мог бы сделать что-то вроде preparedStatement.setTimestamp(...), но мне не удается правильно создать метку времени.Кто-нибудь может предложить самый простой способ преобразовать строку, подобную приведенной выше, либо в Timestamp, либо в какой-либо другой тип, совместимый с типом MySQL «datetime»?Буду признателен за любую помощь.

До сих пор я пытался сделать что-то вроде этого:

String strDateTime = "2011-11-9 18:24:12.3";
Timestamp timeStamp = new Timestamp((new Date(strDateTime)).getTime());
preparedStatement.setTimestamp(1, timeStamp);

Ответы [ 2 ]

2 голосов
/ 10 ноября 2011

Ах, так, проблема, скорее всего, связана не с датой и временем mysql, а с датой.

Конструктор Date(Strings s) в настоящее время устарел и рекомендуется использовать SimpleDateFormat , который позволит вам использовать любой формат, который вы хотите.

0 голосов
/ 10 ноября 2011

Вы пытались разделить и преобразовать его в формат, который вы можете использовать? Это предполагает, что это все время в одном и том же формате. Создайте новую строку, которая разберет разделение старой строки и реорганизует ее полезным способом. Если это строка, предоставленная конечным пользователем, вам, возможно, придется сначала проверить ее и убедиться, что она пригодна для использования.

...