1

次のコードを使用して日付と時刻を取得しています

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変数の日付は「ThuFeb 1400:00:00IST2013」と表示されます。したがって、sql.Dateは「2013-02-14」として簡単に取得できます。また、そこから時間を取りたいです。ctime変数で、時間を取得して表示したいと思います。形式は24時間形式である必要があります。しかし、私はそれを取得する方法がわかりません。

getHours()やgetDate()などの関数を使用しましたが、解決策が見つかりませんでした。誰かが時間を稼ぐのを手伝ってくれませんか。前もって感謝します

00:00:00(hh:mm:ss)の時間が必要です

4

1 に答える 1

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の形式でシングルが必要な場合は、@zvzdhkによって指摘されたasを使用できます。HH:mm:ssSimpleDateFormat

スニペット:

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

などのようなTimeZone.getTimeZone引数を許可することに注意してください。詳細については、ドキュメントをお読みください。"GMT+5:30""PST"

于 2013-02-14T05:59:13.827 に答える