我有一个接受分钟的文本框。
此值将存储在变量中-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以了解模式中字母的含义。