Java Servlet获取日期和时间

Java Servlet获取日期和时间,java,datetime,servlets,time,sqldatetime,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"); P

我使用下面的代码来获取日期和时间

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>

}
公共类提供扩展了HttpServlet{
@凌驾
受保护的void doGet(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
setContentType(“text/html;charset=UTF-8”);
PrintWriter out=response.getWriter();
试一试{
out.println(“”);
out.println(“”);
out.println(“Servlet报价”);
out.println(“”);
out.println(“”);
out.println(“sv糖厂”);
doPost(请求、响应);
out.println(“”);
out.println(“”);
}最后{
out.close();
}
} 
@凌驾
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
setContentType(“text/html;charset=UTF-8”);
PrintWriter out=response.getWriter();
java.sql.Date sqlDate=null,ofrmount=null,ctime=null;
dat=“14/02/2013”;
尝试
{
java.util.Date日期=新的SimpleDataFormat(“dd/MM/yyyy”).parse(dat);
//ctime=newjava.sql.Date(Date.getTime());
sqlDate=newjava.sql.Date(Date.getTime());
out.println(sqlDate);
out.Println(ctime);
}
捕获(例外e)
{
out.println(e);
}
}
@凌驾
公共字符串getServletInfo(){
返回“简短描述”;
}// 
}
此处,util.Date变量Date显示为“Thu Feb 14 00:00:00 IST 2013”。所以我很容易就得到了sql.日期为“2013-02-14”。还有,我想从中得到时间。在ctime变量中,我想获取时间并显示它。格式应为24小时格式。但我不知道如何得到它

我使用了一些函数,如getHours()和getDate(),但找不到解决方案。谁能帮我弄到时间吗。提前谢谢

我需要的时间是00:00:00(hh:mm:ss)

试试这个:

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));
除非您为
日历
对象设置时区,否则上述将返回机器时区中的时间

如果您希望以
HH:mm:ss
格式的单个
字符串
作为输出,您可以使用@zvzdhk指出的

片段:

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

请注意,
TimeZone.getTimeZone
允许像
“GMT+5:30”
“PST”
等参数。有关详细信息,请阅读。

请发布可编译代码,以实际演示您遇到的问题。你的问题毫无意义;你没有时间,只有约会。此外,
java.sql.Date
只是日期-它代表一个sql日期。请查阅文档,了解和。这些链接中有大量信息。你也应该在谷歌上搜索一些简单的例子。除非您有特殊需要,否则您应该使用
java.util.Date
而不是当前正在使用的
java.sql.Date
。这里使用的
doPost
是毫无意义的。不要为此使用
doPost
,而应该创建另一个名为
printDate()
的函数,并在
doGet
中调用它
doPost
不应该调用
doGet
也不应该调用
doGet
调用
doPost
,除非这是他们正在做的全部事情,即让他们做完全相同的事情。即便如此,大多数开发人员也会对这一点表示不满。但至少这是有道理的。