Анализ строки по дате дает 01/01/0001 00:00:00

#java #parsing

#java #анализ

Вопрос:

   String dateimput=request.getParameter("datepicker");
System.out.printl("datepicker:"  dateimput);   
 DateFormat df = new SimpleDateFormat("MM/dd/yyyy");

    Date dt = null;
    try
    {
        dt = df.parse(dateimput);
        System.out.println("date imput is:"  dt);

    } catch (ParseException e)
   {
        e.printStackTrace();

  }
  

* выбор даты: 29.04.2010 (значение, которое я в данный момент выбрал из выбора даты).
* в поле базы данных введена дата.
1-введенная дата: чт, 29 апреля, 00:00:00 по восточному времени 2010
и на уровне базы данных она вставляется следующим образом 01/01/0001 00:00:00

Комментарии:

1. Этот вопрос является беспорядочным. Пожалуйста, сделайте это более понятным.

2. Если я вас правильно понял, проанализированная дата напечатана правильно. Таким образом, проблема, должно быть, кроется в другом месте — в коде, который вы на самом деле не показываете. Тогда какой значимой помощи вы ожидаете?

3. Какой тип базы данных? Вы передаете правильный формат? т. е. MySQL ожидает, что даты (Datetimes) как ГГГГ-ММ-ДД ЧЧ: мм: сс и ММ / ДД / ГГГГ могут вызвать эту проблему.

4. Вы пытаетесь поместить дату в базу данных? Вы пытаетесь прочитать поле даты из базы данных? Какая база данных? Можем ли мы увидеть код, который выполняет запрос insert?

Ответ №1:

Ваш Java-код будет работать нормально.

29.04.2010 выдаст вам объект date с правильным установленным временем / датой.

Вы сказали, что проблема возникла во время вставки базы данных, поэтому вы должны сообщить нам используемую базу данных и опубликовать код, который вы используете для вставки.

Комментарии:

1. Я использую базу данных MYSQL, поэтому вот мой запрос: String query = «Вставить в таблицу ежедневного расписания (trackingDate, activity, projectCode) значения (» df.format (dt) «, «» activity «,»» projet «»)»;

Ответ №2:

На основе вашего комментария к ответу echox. Похоже, ваша проблема может заключаться в том, что вы не заключаете значение даты в кавычки в вашем операторе insert.