Дата разбора - Java - PullRequest
       8

Дата разбора - Java

0 голосов
/ 03 февраля 2012

У меня есть текстовое поле, которое принимает минуты. Это значение будет сохранено в переменной - textBoxVal

У меня также есть даты, сохраненные в строковом массиве - workDate, где каждый элемент имеет формат гггг-мм-дд ЧЧ: мм: сс

Требуется добавить значение textBoxVal к каждому элементу в строковом массиве и сохранить новое значение в массиве дат - newWorkDate

Например:

    textBoxVal = 60
    workDate[0] = "2012-02-12 09:00:00.0"
So, newWorkDate[0] should be 2012-02-12 10:00:00.0

Это то, что я имею до сих пор -

int textBoxVal = 0;
ArrayList<String> workDate = new ArrayList<String>();
Date[] newParsedWorkDate = new Date[10];
Date[] newWorkDate = new Date[10];

textBoxVal = getTextBoxValue();
for (int i=0; i< cntr; i++){
workDate[i] = getWorkDate(i);

newParsedWorkDate[i] = DateHelper.parseDate (workDate[i], "yyyy-MM-DD HH:mm:ss"); //Converting string to datetime

newWorkDate[i] = DateHelper.addMinutes(newParsedWorkDate[i], textBoxVal);
}

Проблема здесь в том, что workDate это "2012-02-12 09: 00: 00.0", newWorkDate это "2012-01-12 10: 00: 00.0", т.е. он добавляет textBoxVal, но устанавливает дату в предыдущий день. Пожалуйста, помогите мне понять, где мой код неверен. Спасибо!

РЕШЕНИЕ: Используется "yyyy-MM-dd HH:mm:ss" вместо

"yyyy-MM-DD HH:mm:ss"

Ответы [ 3 ]

2 голосов
/ 03 февраля 2012

Используйте MM для представления месяцев и dd для представления дня в месяце.

Итак, вам нужно изменить формат на yyyy-MM-dd HH:mm:ss.

См. javadocs , чтобы понять, что означают буквы в шаблоне.

1 голос
/ 03 февраля 2012

Измените yyyy-mm-dd HH:mm:ss на yyyy-MM-dd HH:mm:ss. MM для месяца и mm для минут.

0 голосов
/ 03 февраля 2012

В строке анализа даты следует использовать MM для месяцев, а не mm, что составляет минуты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...