如何将字符串变量中的日期转换为日期变量.. ?? 数据库中的日期采用yyyy-MM-dd格式。 我进入dd-MM-yyyy格式..并试图以db格式转换它,以便我可以使用'之间'查询..代码在下面
<%String date1=(String)request.getAttribute("from");%>
<%String date2=(String)request.getAttribute("to");%>
<%String empcode=(String)request.getAttribute("occ");%>
<%SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd");%>
<%Date date = new Date(); %>
<%Date fromdate=formatter.parse(date1);%>
<%Date todate=formatter.parse(date2);%>
答案 0 :(得分:1)
您正在使用getAttribute
,但我怀疑您需要getParameter
(如果您尝试将信息作为GET
或POST
请求的一部分提交)
以下是getAttribute
的工作原理:
属性可以通过两种方式设置。 servlet容器可以设置属性以提供有关请求的自定义信息。例如,对于使用HTTPS发出的请求,可以使用属性
javax.servlet.request.X509Certificate
来检索有关客户端证书的信息。也可以使用setAttribute(java.lang.String, java.lang.Object)
以编程方式设置属性。这允许在RequestDispatcher
呼叫之前将信息嵌入到请求中。
以下是getParameter
的工作原理:
以String形式返回请求参数的值,如果参数不存在,则返回null。请求参数是随请求一起发送的额外信息。对于HTTP servlet,参数包含在查询字符串或发布的表单数据中。
查看日期格式,您在问题中提到了两种不同的格式。如果date1
字符串看起来像2013-12-19
,那么该代码将起作用。如果是19-12-2013
,那么该代码将无效,因为您已告诉SimpleDateFormat
使用"yyyy-MM-dd"
,但您需要"dd-MM-yyyy"
。
在这两种情况下,调试方法都是查看date1
和date2
包含的内容。这将指明如何解决它。
答案 1 :(得分:0)
SimpleDateFormat formatter=new SimpleDateFormat("dd-MM-yyyy");
Date fromdate=formatter.parse(date1);
SimpleDateFormat formatter2=new SimpleDateFormat("yyyy-MM-dd");
String newDate1 = formatter2.format(fromdate);
newDate1现在格式为yyyy-MM-dd。 您可以再次使用新字符串
创建日期对象formatter2.parse(newDate1);
但我认为没必要