Tweet
|
//デフォルト言語を英語に設定。 java.util.Locale.setDefault(new java.util.Locale("en","")); //ユーザー言語(ユーザーのブラウザにより設定)のリソースを読み込む。 java.util.ResourceBundle wwnaviBundle = java.util.ResourceBundle.getBundle("wwnavi_rs",request.getLocale()); //'request'はJSP内で事前定義された、もしくはServlet内でメソッドの引数として与えられた変数。
//現在の日付をユーザー言語(ユーザーのブラウザにより設定)で表示。 DateFormat df = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,DateFormat.DEFAULT,request.getLocale()); //'request'はJSP内で事前定義された、もしくはServlet内でメソッドの引数として与えられた変数。 String date = df.format(new Date());
<%@ page contentType="text/html; charset=UTF-8" %> //JSPタグ response.setContentType("text/html; charset=UTF-8"); //Servletコード
//タイムスタンプをMySQL内にISO標準書式で保持し、それらをユーザーの書式で表示する。 //MySQL内のタイムスタンプの値 | edit_date | ------------------- 2010-01-25 00:00:00 //SQLで値を取りだす。 String sql = "select edit_date from table1 ...";... ResultSet rs = pstmt.executeQuery();... Timestamp ts = rs.getTimestamp(0);... //値をISO標準書式としてパースし、日付オブジェクトを作成する。 DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); Date date = df.parse(ts.toString()); //日付オブジェクトをユーザー言語(ユーザーのブラウザにより設定)でフォーマットする。 DateFormat df = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,DateFormat.DEFAULT,request.getLocale()); //'request'はJSP内で事前定義された、もしくはServlet内でメソッドの引数として与えられた変数。 out.println(df.format(date));
// UTCの取得 Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); int offSet = TimeZone.getDefault().getOffset(cal.getTimeInMillis()); offSet = offSet / 1000; cal.add(Calendar.SECOND, -offSet); Date utcNow = cal.getTime(); // UTCからローカルタイムへの変換 cal = Calendar.getInstance(); cal.setTime(utcNow); TimeZone locTz = TimeZone.getTimeZone("Asia/Japan"); (*1) int offSet = locTz.getRawOffset(); offSet = offSet / 1000; cal.add(Calendar.SECOND, offSet); if (locTz.inDaylightTime(cal.getTime())) { (*2) cal.add(Calendar.SECOND, locTz.getDSTSavings() / 1000); } Date locDate = cal.getTime(); *1)日本のタイムゾーンを指定しています。 実際には、アクセスした地域やユーザーの設定からタイムゾーンを特定する必要がありますが、 これにはタイムゾーンのIDと地域を特定する情報のマッピングデータが必要です。 TimeZoneのIDの一覧はgetAvailableIDsメソッドで取得できます。 クライアントのタイムゾーンの取得については、 JavaScript国際化プログラミング - ロケール、書式、タイムゾーンもご参照ください。 *2)対象のタイムゾーンがサマータイムを導入しているか判定しています。
MSDNライブラリをご参照ください。