【发布时间】:2012-02-03 17:33:27
【问题描述】:
我有一个接受分钟的文本框。
该值将存储在一个变量中 - textBoxVal
我还将日期保存在字符串数组列表中-workDate,其中每个元素的格式为 yyyy-mm-dd HH:mm:ss
要求是将 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"
【问题讨论】:
-
不是“又一个日期格式问题”?与往常一样,RTFM 的答案是——查看 API,因为它已为您详细说明。
-
@Hovercraft - MYOB。谢谢。