【发布时间】:2015-08-14 09:43:39
【问题描述】:
我通过 ajax 以字符串格式获取日期。但是当我通过 SimpleDateFormat 将其转换为日期时,它会发生变化。月份总是改为一月。我只担心月份的变化。我的代码如下
String appointmentDate = request.getParameter("appointmentDate");
System.out.println(" appointment date in String format "+appointmentDate);
在这里我得到了正确的日期(2015 年 12 月 16 日)。但是当我将其更改为日期格式时,它正在发生变化(Fri Jan 16 00:12:00 IST 2015)。无论我输入什么月份,比如八月、五月、六月,我总是得到一月。
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy");
Date parsedDate = dateFormat.parse(appointmentDate);
System.out.println(" appointment date in DATE format "+parsedDate);
请帮帮我。提前致谢。
【问题讨论】:
-
“但是当我将其更改为日期格式时,它正在发生变化(2015 年 1 月 16 日星期五 00:12:00 IST)。”您似乎认为
java.util.Date具有格式。它没有。如果您想以特定方式对其进行格式化,请使用DateFormat.format。 -
@Jon Skeet 感谢您提供宝贵的信息。 DateFormat.format 的返回类型是 String,但我希望它是 Date 类型。
-
那么您已经将它作为日期,但是您抱怨 formatting (“但是当我将其更改为日期格式时,它正在发生变化(周五16 00:12:00 IST 2015)") 这意味着您在抱怨 string 表示。或者你只是担心月份的变化?我重新打开了这个问题,但如果您编辑问题以明确问题,这将有所帮助。
-
是的,你是对的。我只担心月份的变化。但是现在问题已经解决了。我输入了 'dd/mm/yyyy' 而不是 'dd/MM/yyyy'。
标签: java date spring-mvc simpledateformat java.util.date