Согласно SimpleDateFormat
API шаблон на самом деле MMMM_yyyy
.
Итак, чтобы получить достойное java.util.Date
из этого String
, вам нужно сделать следующее:
String stringDate = "january_2005";
Date date = new SimpleDateFormat("MMMM_yyyy").parse(stringDate);
Если предполагается, что эти месяцы будут всегда английскими, а Locale
компьютера, на котором он работает, не является (всегда) английским, то вам лучше указать также Locale
:
Date date = new SimpleDateFormat("MMMM_yyyy", new Locale("en")).parse(stringDate);
Чтобы сохранить его в базе данных, используйте PreparedStatement#setDate()
. Сначала вам нужно конвертировать java.util.Date
в java.sql.Date
.
preparedStatement = connection.prepareStatement("INSERT INTO mytable (somedate) VALUES (?)";
preparedStatement.setDate(1, new java.sql.Date(date.getTime()));