• ベストアンサー

JAVAサーブレットプログラミングで質問

Javaの開発環境: J2SDK、Tomcat3.3.1を使用しています。 ***プログラミング内容*** import java.io.*; import java.util.*; import java.text.*; import javax.servlet.*; import javax.servlet.http.*; public class MyDate extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException,ServletException{ response.setContentType("text/html; charset=SJIS"); Calendar cdr = Calendar.getInstance(); //現在の時間を取得 int year = cdr.get(Calendar.YEAR); //年(西暦) int month = cdr.get(Calendar.MONTH) + 1; //月 int date = cdr.get(Calendar.DATE); //日 int hour = cdr.get(Calendar.HOUR); //時間 int minute = cdr.get(Calendar.MINUTE); //分 int second = cdr.get(Calendar.SECOND); //秒 PrintWriter pw = response.getWriter(); pw.println("<html><body>今日は" + year + "年" + month + "月"+ date + "日(" + ★ + ")曜日です<br>\n" + "時間は" + hour + "時" + minute + "分" + second + 秒です</body></html>\n");}} といった内容で、取得したい値は日付と時間を取得するプログラミングなんですが、曜日の取得の方法を教えてもらえないでしょうか?取得した日付と時間の表示方法は、 日付: 2002年10月12日 時間: PM8時18分41秒です… といった感じを目指しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • takaP-
  • ベストアンサー率79% (83/105)
回答No.1

int day_of_week = cdr.get(Calendar.DAY_OF_WEEK); で取得できます。 それを、日本語表記にしたいのですから。。。 String week ; switch(day_of_week) { case Calendar.SUNDAY : week = "日" ; break; case Calendar.MONDAY : week = "月" ; break;     ~省略~ default : week = "?" ; } とすれば、week に目的の文字が入ると思います。

u-mesh12
質問者

お礼

お礼が送れて大変申し訳ありません。 takaP-さんの言うとおり引数にCalendar.DAY_OF_WEEKを指定し、switch文で分岐させたら、目的どおりの表示結果が得られました。 ありがとうございます。

その他の回答 (1)

  • swertie
  • ベストアンサー率50% (1/2)
回答No.2

#1 と同様ですが、 int day_of_week = cdr.get(Calendar.DAY_OF_WEEK); は、SUNDAY = 1, ..., SATURDAY = 7 として、整数値が割り当てられるので、次のような文字列配列、 String[] dofweek = {"日", "月", "火",..."土"}; を作っておけば、 String week = dofweek[Calendar.FRIDAY - 1]; のように、曜日を入手できると思います。

u-mesh12
質問者

お礼

まず先にお礼が送れて大変申し訳ありませんでした。 整数値の配列から結果を取得するという方法もあるということですね。 アドバイスありがとうございました。

関連するQ&A