プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

JSPでタイムゾーンを使用する方法|JSTL fmt:timeZoneタグの使い方を解説

JSTL(JSP Standard Tag Library)の<fmt:timeZone>タグは、そのタグ本体(ボディ)内に記述されたすべてのタグに対して、適用するタイムゾーンを指定するために使用します。国際化対応のWebアプリケーションでは、ユーザーの地域ごとに日付や時刻を表示し分ける必要があるため、このタグが非常に役立ちます。

属性

<fmt:timeZone>タグには、以下の属性があります。

属性説明必須デフォルト値
valueタグ本体内に適用するタイムゾーンはいなし

使用例

次のサンプルコードでは、java.util.TimeZone.getAvailableIDs()で取得できるすべてのタイムゾーンIDをループ処理し、それぞれのタイムゾーンにおける現在日時を一覧表示しています。

<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ taglib uri = "https://java.sun.com/jsp/jstl/fmt" prefix = "fmt" %>
<html>
   <head>
      <title>JSTL fmt:timeZone Tag</title>
   </head>
   <body>
      <c:set var = "now" value = "<% = new java.util.Date()%>" />
      <table border = "1" width = "100%">
         <tr>
            <td width = "100%" colspan = "2" bgcolor = "#0000FF">
               <p align = "center">
                  <b>
                     <font color = "#FFFFFF" size = "4">Formatting:
                        <fmt:formatDate value = "${now}" type = "both" timeStyle = "long" dateStyle = "long" />
                     </font>
                  </b>
               </p>
            </td>
         </tr>
         <c:forEach var = "zone" items = "<% = java.util.TimeZone.getAvailableIDs()%>">
            <tr>
               <td width = "51%">
                  <c:out value = "${zone}" />
               </td>
               <td width = "49%">
                  <fmt:timeZone value = "${zone}">
                     <fmt:formatDate value = "${now}" timeZone = "${zn}" type = "both" />
                  </fmt:timeZone>
               </td>
            </tr>
         </c:forEach>
      </table>
   </body>
</html>

上記のコードを実行すると、以下のような結果が出力されます。

フォーマット結果:2010年9月23日 15:09:09 GST 

Etc/GMT+1222-Sep-2010 23:09:09
Etc/GMT+1123-Sep-2010 00:09:09

補足:ページ全体にタイムゾーンを適用したい場合

<fmt:timeZone>タグの効果は、あくまでそのタグ本体内に限られます。ページ全体にタイムゾーンを適用したい場合は、<fmt:setTimeZone>タグを使用してください。また、<fmt:formatDate>タグのtimeZone属性に直接タイムゾーンを指定することで、個々の日時出力ごとに細かく制御することも可能です。用途に応じてこれらを使い分けると、より柔軟な国際化対応が実現できます。

  1. macOS Catalinaでスクリーンタイムを活用する方法【設定手順と機能を徹底解説】

    AppleはiOS 12でiPhoneとiPad向けに「スクリーンタイム」を初めて導入し、1日のデバイス使用時間の統計を確認できるようにすることで、ユーザーが自身のデバイス利用により注意を向ける手助けをしてきました。そしてmacOS Catalinaでは、このスクリーンタイムがついにMacにも搭載され、ノートブックやデスクトップでも同じ機能を利用できるようになりました。 スクリーンタイムでは、アプリごとのデバイス使用時間を追跡できます。どのアプリに最も多くの時間を費やしているのかを把握したい場合に非常に役立ちます。さらに、iOS版と同様に、アプリの使用制限やダウンタイムの設定なども行えます。m

  2. Gmailのタイムゾーンを変更する方法|Googleカレンダーでの設定手順を解説

    Gmailは、多くの企業や個人にとってメールのやり取りに欠かせないツールとして広く利用されています。グローバル化が進む現代では、海外のクライアントと取引することも珍しくありません。例えば、あなたがアメリカに住みながら、オーストラリアの企業とビジネスを行うといったケースもあるでしょう。こうした場合、両者のタイムゾーンは大きく異なります。Gmailでメールを送信する際には、正しいタイムゾーンが設定されていることを確認することが重要です。例えば、相手の地域ではまだ到来していない日付でメールを送ると、クライアント側で記録の不整合が生じる可能性があります。また、締め切り日が自分の地域では翌日なのに、クラ