我有一个接受分钟的文本框。
此值将存储在变量中-textBoxVal

我也将日期保存在String Arraylist- workDate中,其中每个元素的格式均为yyyy-mm-dd HH:mm:ss

要求是将textBoxVal值添加​​到字符串arraylist中的每个元素,并将新值保存在日期数组中-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"

最佳答案

使用MM代表月份,使用dd代表月份中的日期。

因此,您需要将格式更改为yyyy-MM-dd HH:mm:ss

请参阅javadocs以了解模式中字母的含义。

08-05 05:46
查看更多