2013-02-14 4 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 переменная дата отображается как «Thu Feb 14 00:00:00 IST 2013 ». Поэтому я получаю sql.Date легко, как «2013-02-14». Кроме того, я хочу получить время от этого. В переменной ctime я хочу получить время и отобразить его. Формат должен быть формата 24 часа. Но я не знаю, как это получить.

Я использовал некоторые функции, такие как getHours() и getDate(), но я не смог найти решение. Может кто-то поможет мне получить время. Заранее спасибо

Мне нужно время, как 00:00:00 (чч: мм: сс)

+0

Просьба опубликовать компилируемый код, который на самом деле демонстрирует, какую проблему вы испытываете. Как-будто ваш вопрос не имеет смысла; вы не * имеете * время, а только дату. Кроме того, 'java.sql.Date' является * только * датой - представляет собой SQL DATE –

+0

Я разместил свой код –

+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). В этих ссылках много информации. Вы должны также использовать Google для некоторых простых примеров. Если у вас нет конкретной потребности, вы должны использовать 'java.util.Date', а не' java.sql.Date', который вы используете в настоящее время. – jahroy

ответ

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 в качестве вывода, вы можете использовать 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 для больше.

Смежные вопросы