日付と時刻の書式設定のデモガイド

このアプレットは JDK 1.0 ではサポートされません。

日付および時刻フォーマッタは、内部時刻データを意味のある文字列に変換して表示します。日付および時刻フォーマッタは、次のことを行います。

地域対応された書式設定と構文解析 書式設定パターンの編集
日付書式設定ユーティリティ


地域対応された書式設定と構文解析

日付および時刻フォーマッタは、指定された国の言語、書式、タイムゾーンに合わせた書式設定ができます。また、特定言語に基づく構文解析ができます。

アプレットは 2 種類の書式で日付を表示します。1 つは Java 1.0 形式 (1.0 Date) で、もう 1 つは日付時刻フォーマッタで作成された地域対応書式 (New Date) です。

デモの見方 デモの方法
選択した地域の言語とタイムゾーンに合わせて地域対応された日付(注 - 日本語表示は未対応)
1. [Locale] メニューをプルダウンします。
2. 上下の矢印キー (Windows) またはマウスボタン (Macintosh) を使って、いろいろなロケールについて試してみます。
書式設定済みのデータに変更を加えると、その変更が構文解析され、Java の日付の値にミリ秒単位で反映されます。
1. [English] ロケールを選択します。
2. 書式設定済みの日付の月の名前を「June」に変更します。
フォーマッタは、太平洋標準時と東部標準時のように、同じ国の別のタイムゾーンに合わせて正しく書式設定を行います。また、現在の日付に基づいて、標準時間またはサマータイムに自動的に切り替えます。
1. [U.S.] ロケールを選択します。
2. 注 - [Time Format] を選択します (書式設定後の日付は太平洋夏時間を示す)。
3. [City] メニューをプルダウンして、タイムゾーンの異なる米国内の別の都市を選びます。

注 - ここで示される日付はすべて、グレゴリオ暦 (太陽暦) に基づく日付です。時刻書式設定クラスは、抽象カレンダクラスを定義して、グレゴリオ暦以外の暦をサポートするよう拡張することもできます。プログラマは暦のシステムについての知識がなくても、これを使用できます。


書式設定パターンの編集

数値の書式設定と同様に、文字列パターンを指定することにより日付と時刻の書式を簡単に作成できます。また、書式に新しいフィールドを追加したり、特定の国でのビジネス用に新しい書式を作成することもできます。

デモの見方 デモの方法
書式パターンにはさまざまなフィールドを使用でき、一部のフィールドでは完全書式と省略書式の両方を使用できます。たとえば、月には数値、略語、完全書式のどれでも使用できます。
1. [Date Format] と [English (U.S.)] ロケールを選択します。
2. [Pattern] フィールドで「M」を削除すると、月が省略書式に変わります。
3. もう 1 つの「M」を削除すると、月が数値書式に変わります。
年間の通し日付のような、ビジネス文書で使用される書式を指定することができます。また、書式設定なしの文字列を単一引用符で囲んでパターンに追加することもできます。
1. 月と日付のフィールドをパターンで選択します (MM dd)。
2. 文字列 (単一引用符を含む) 「'day' D」に置き換えます。

日付書式設定ユーティリティ

書式設定には多くのユーティリティがあり、フィールドの増加や循環を含む、日付と時刻のウィジェットを作成できます。

デモの見方 デモの方法
フィールドを「循環」させると、変更結果はほかのフィールドに影響しません。
1. [Date Format] と [English (U.S.)] ロケールを選択します。
2. [Date Fields] メニューで [Month] を選択します。
3. [Roll] ボタンをクリックし、書式設定後の日付が「December」になるまで上方向の矢印ボタンをクリックします。
4. もう一度矢印ボタンをクリックすると、月は循環して「January」になりますが、年は増加しません。
フィールドを「増加」させると、変更結果に対応してほかのフィールドに影響が及びます。
1. [Add] ボタンをクリックします。
2. 書式設定された日付が「January」になるまで上方向か下方向の矢印キーをクリックします。
3. 下向きの矢印キーをクリックすると月は「December」に変わり、年は 1 つ小さくなります。

フォーマッタは、広範な日付を処理できます。(注 - 現在バグが残っており、1200 BC より前と 5000 AD よりあとの日付を使用すると問題が発生する)。

デモの見方 デモの方法
日付の値をミリ秒単位で変更すると、書式設定された日付が変更結果を反映して変わります。
1. [Date Format] と [English (U.S.)] ロケールを選択します。
2. 紀元前後の表示のために、パターン文字列の最後に「G」と入力します。
3. ミリ秒のフィールドを選択して、「1」に設定します。
3. 5000 AD 年になるまでゼロを追加します (-1 から始め、ゼロを追加して逆方向に戻ってもかまわない)。

どちらかの日付フィールドに別の日付を入力したり、まったく新しいパターンを入力したりして、いろいろな書式設定動作を試してください。フォーマッタは、パターンを作成可能なさまざまなフィールドをサポートしています。ASCII 文字は (引用符で囲まれていない限り) パターン文字として予約されており、次のように定義されています。

    記号     意味                    表現形式            例
    ------   -------                 ------------        -------
    G        紀元指示子              (テキスト)          AD
    y        年                      (数字)              1996
    M        月                      (テキストと数字)    July & 07
    d        日                      (数字)              10
    k        時                      (数字)              24
    H        0 から始まる時          (数字)              0
    m        分                      (数字)              30
    s        秒                      (数字)              55
    S        ミリ秒                  (数字)              978
    E        曜日                    (テキスト)          Tuesday
    D        年初からの通算日        (数字)              189
    F        月初からの通算週        (数字)              2 (6 月の第 2 水曜など)
    w        年初からの通算週        (数字)              27
    W        月初からの通算週        (数字)              2
    a        am/pm マーカー          (テキスト)          PM
    h        午前/午後の時           (数字)              12
    K       午前/午後の時 (0 ベース) (数字)              0
    z        タイムゾーン            (テキスト)          太平洋標準時
    '        テキストのエスケープ
    ''       引用符                                      '



ソースコード



© Copyright 1997. All rights reserved.Taligent, Inc., IBM Corp.