【发布时间】:2014-04-11 14:43:58
【问题描述】:
我正在使用 API 来获取 Java 中特定日期之前的天气预报。
将日期作为 URL 参数传递的要求是它必须采用“YYYY-MM-DD'T'HH:MM:SS”格式。我从用户那里得到这种格式的输入,然后得到当前的系统日期,然后循环到所需的日期。问题在于将输入的日期字符串转换为日期格式,将其增加一天,然后将其转换回 URL 参数的字符串格式。
我正在使用以下代码执行此操作,但结果不正确:
formatter = new SimpleDateFormat("YYYY-MM-DD'T'HH:MM:SS");
Date date1 = formatter.parse(inputtime);
System.out.println(date1);
Calendar c1 = Calendar.getInstance();
c1.setTime(date1);
c1.add(Calendar.DAY_OF_MONTH, 1); // number of days to add
inputtime = formatter.format(c1.getTime()); // dt is now the new date
System.out.println(c1.getTime());
System.out.println(inputtime);
inputtime 是用户输入的。如果我将“2014-04-12T00:00:00”作为inputtime,date1 是“Sun Dec 29 00:00:00 PKT 2013”,c1.getTime() 返回“Mon Dec 30 00:00:00根据上述代码块,PKT 2013" 和 inputtime 变为 "2014-12-364T00:12:00"。
如何纠正这种逻辑错误?
【问题讨论】: