Вопрос по java, date, type-conversion – Преобразование даты из строки в sql Дата в Java дает другой вывод?

21

У меня есть строковая форма даты. Я должен изменить его на Sql Date. так что для этого я использовал следующий код.

<code>String startDate="01-02-2013";
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-mm-yyyy");
java.util.Date date = sdf1.parse(startDate);
java.sql.Date sqlStartDate = new java.sql.Date(date.getTime());  
</code>

когда я использовал приведенный выше код и запустил его. Я получил следующий вывод.

<code>2013-01-01.  
</code>

Здесь Месяц не конвертируется правильно.
Скажите, пожалуйста, в чем проблема и предоставьте пример кода, чтобы получить правильный результат?

Ваш Ответ

5   ответов
-1

вы можете иметь в виду, чтобы всегда использоватьMM в течение нескольких месяцев иmm на минуты. Это должно решить вашу проблему.

7

mm обозначает "минуты", использованиеMM вместо:

41

mm являетсяminutes, Ты хочешьMM заmonths:

Не чувствую себя плохо - эта точная ошибка часто встречается.

Ооо .. Спасибо Богемен. Mr.Chowdary
это очень много!
Спасибо огромное
2

MM какmm обозначаетminutes.

Есть два способа производстваmonth шаблон.

SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy"); //outputs month in numeric way, 2013-02-01

SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MMM-yyyy"); // Outputs months as follows, 2013-Feb-01

Полный фрагмент кода:

        String startDate="01-Feb-2013"; // Input String
        SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy"); // New Pattern
        java.util.Date date = sdf1.parse(startDate); // Returns a Date format object with the pattern
        java.sql.Date sqlStartDate = new java.sql.Date(date.getTime());
        System.out.println(sqlStartDate); // Outputs : 2013-02-01
4

String startDate="12-31-2014";
SimpleDateFormat sdf1 = new SimpleDateFormat("MM-dd-yyyy");
java.util.Date date = sdf1.parse(startDate);
java.sql.Date sqlStartDate = new java.sql.Date(date.getTime()); 
Некоторые комментарии к коду будут полезны.

Похожие вопросы