Servlet获取日期和时间

时间:2013-02-14 05:47:51

标签: java datetime servlets time sqldatetime

我正在使用以下代码来获取日期和时间

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)

1 个答案:

答案 0 :(得分:2)

试试这个:

Calendar c = Calendar.getInstance();
c.setTime(sqlDate);
System.out.println(c.get(Calendar.HOUR));
System.out.println(c.get(Calendar.MINUTE));
System.out.println(c.get(Calendar.SECOND));

除非您为Calendar对象设置时区,否则上述时间会在您机器的时区内返回。

如果您希望以String形式输出一个HH:mm:ss作为输出,则可以使用@zvzdhk指出的SimpleDateFormat

段:

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("IST"));
System.out.println(sdf.format(sqlDate));

请注意,TimeZone.getTimeZone允许使用"GMT+5:30""PST"等参数。请阅读documentation了解更多信息。