我正在使用jQuery Datepicker,它给出了像07/05/2015这样格式的日期。我使用simpledateformat来格式化这个日期。但是SDF总是将它转换为今天的日期。如何解决这个问题?< / p>
System.out.println("Activity IS : IS With Date");
SimpleDateFormat sdfOverTimeWithDate = new SimpleDateFormat("yyyy-MM-dd ");
Date startDate = ParamUtil.getDate(resourceRequest, "startDate", sdfOverTimeWithDate);
Date endDate = ParamUtil.getDate(resourceRequest, "endDate", sdfOverTimeWithDate);
int jobId= ParamUtil.getInteger(resourceRequest, "jobId");
System.out.println("jobId :"+jobId);
System.out.println("startDate :"+startDate);
System.out.println("endDate :"+endDate);
这个statDate和endDate只提供今天的日期,而我正在讨论的日期是07/05 / 2015格式。如何解决这个问题?有人帮忙
答案 0 :(得分:2)
您将错误的日期格式传递给SimpleDateFormat
构造函数。请尝试使用"dd/MM/yyyy"
代替"yyyy-MM-dd "
答案 1 :(得分:1)
7月(美国格式)或5月是&#34; 07/05 / 2015&#34; ?请澄清。如果它是US格式(日期表达式以月号开头),那么您的解决方案是使用模式&#34; MM / dd / yyyy&#34;否则你应该使用模式&#34; dd / MM / yyyy&#34;。
模式&#34; yyyy-MM-dd&#34;由于两个原因,这是不对的:
a)以四位数年份开头,但您的输入以两位数字开头。
b)它包含一个尾随空格。
答案 2 :(得分:-1)
尝试这样做。
SimpleDateFormat sdfOverTimeWithDate = new SimpleDateFormat("yyyy-MM-dd");
try {
Date d = sdfOverTimeWithDate.parse("07/05/2015");
} catch (ParseException e) {
e.printStackTrace();
}