java - Servlet 获取日期和时间

标签 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)

最佳答案

试试这个:

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 对象设置时区,否则以上将返回您计算机时区的时间。

如果您想要一个 HH:mm:ss 形式的 String 作为输出,您可以使用 SimpleDateFormat正如@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" 等参数。请阅读 documentation了解更多。

关于java - Servlet 获取日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14868537/

相关文章:

javascript - Angularjs 日期过滤器将时间毫秒转换为 UTC 不起作用

java - 在 Java 中适用时使用 "final"修饰符

java - 为什么建议将实例变量声明为私有(private)?

java - 如何在Java中将日期格式化为带有缩写时区的格式?

javascript - 无法从asp.net页面中的jquery日期时间选择器捕获日期时间值(C#)

java - 如何将 JSP <form> 中的值传递到 java 方法中

java - 如何读取Web项目中的内部文件

java - 使用Servlet-JSP登录

java - 未安装时提供 Java 的下载链接

java - 查询 HQL 查询结果时 PersistentBag.toString() stackoverflow 错误