【发布时间】:2013-02-14 05:47:50
【问题描述】:
我正在使用以下代码来获取日期和时间
public class offer extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet offer</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1> sv sugar mills</h1>");
doPost(request,response);
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
java.sql.Date sqlDate=null,ofrmonth=null,ctime=null;
dat="14/02/2013";
try
{
java.util.Date date=new SimpleDateFormat("dd/MM/yyyy").parse(dat);
//ctime=new java.sql.Date(date.getTime());
sqlDate = new java.sql.Date(date.getTime());
out.println(sqlDate);
out.Println(ctime);
}
catch(Exception e)
{
out.println(e);
}
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
这里,util.Date 变量日期显示为“Thu Feb 14 00:00:00 IST 2013”。所以我很容易得到 sql.Date 为“2013-02-14”。另外,我想从中获得时间。在 ctime 变量中,我想获取时间并显示它。格式应为 24 小时格式。但我不知道如何得到它。
我使用了一些函数,例如 getHours() 和 getDate(),但我找不到解决方案。有人可以帮我争取时间。提前致谢
我需要时间为 00:00:00 (hh:mm:ss)
【问题讨论】:
-
请发布实际演示您遇到的问题的可编译代码。你的问题没有什么意义;你没有时间,只有日期。此外,
java.sql.Date只是日期 - 它代表 SQL DATE -
请查阅java.util.Date、java.sql.Date 和Calendar 的文档。这些链接中有大量信息。您还应该搜索一些简单的示例。除非您有特殊需要,否则您应该使用
java.util.Date而不是您当前正在使用的java.sql.Date。 -
这里使用的
doPost是荒谬的。而不是为此使用doPost,您应该创建另一个名为printDate()的函数并在您的doGet中调用它。doPost不应该打电话给doGet也不应该doGet打电话给doPost,除非这就是他们所做的一切,即让两者做完全相同的事情。即便如此,大多数开发人员都会皱眉头。但至少这是有道理的。
标签: java datetime servlets time sqldatetime