2013-02-14 103 views
1

我用下面的代碼來獲取日期和時間Servlet的獲取日期和時間

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變量日期顯示爲「週四2月14日00:00:00 IST 2013 」。所以我很容易得到sql.Date爲「2013-02-14」。另外,我想從中獲得時間。在ctime變量中,我想獲得時間並顯示它。格式應該是24小時格式。但我不知道如何得到它。

我用過getHours()和getDate()等函數,但找不到解決方案。有人能幫助我獲得時間嗎?在此先感謝

我所需要的時間爲00:00:00除非你設定的時間帶爲Calendar對象上面

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)

+0

請發佈可實際演示您遇到什麼問題的可編譯代碼。至於你的問題沒有道理;你不*有*時間,只有約會。此外'java.sql.Date'只是*日期 - 它代表SQL日期 – 2013-02-14 05:53:21

+0

我已經發布了我的代碼 – 2013-02-14 05:57:28

+0

請查閱[java.util.Date](http://docs.oracle.com)的文檔/javase/6/docs/api/java/util/Date.html),[java.sql.Date](http://docs.oracle.com/javase/6/docs/api/java/sql/Date。 html)和[日曆](http://docs.oracle.com/javase/6/docs/api/java/util/Calendar.html)。這些鏈接中有很多信息。你也應該谷歌一些簡單的例子。除非你有特定的需求,否則你應該使用'java.util.Date'而不是'java.sql.Date',你正在使用它。 – jahroy 2013-02-14 06:57:24

回答

2

試試這個在您的機器時區返回時間。

如果您想以HH:mm:ss的形式輸出一個String作爲輸出,您可以使用@ 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更多。