パッケージ jakarta.mail.internet

クラス MailDateFormat

  • 実装されたすべてのインターフェース:
    SerializableSECloneableSE

    public class MailDateFormat
    extends SimpleDateFormatSE
    RFC 2822 に基づいて日付指定をフォーマットおよび解析します。

    このクラスは、フォーマットに影響を与えるメソッドをサポートしていません。常に以下の仕様に基づいて日付をフォーマットします。

    3.3. 日付と時刻の仕様

    日付と時刻は、いくつかのヘッダーフィールドで発生します。このセクションでは、完全な日付と時刻を指定するための構文を指定します。日付と時刻の指定全体で空白を折りたたむことは許可されていますが、FWS が表示される場所ごとに 1 つのスペースを使用することをお勧めします(必須かオプションかを問わず)。一部の古い実装では、他の折りたたみ空白の発生を正しく解釈できない場合があります。

     date-time       =       [ day-of-week "," ] date FWS time [CFWS]
    
     day-of-week     =       ([FWS] day-name) / obs-day-of-week
    
     day-name        =       "Mon" / "Tue" / "Wed" / "Thu" /
                             "Fri" / "Sat" / "Sun"
    
     date            =       day month year
    
     year            =       4*DIGIT / obs-year
    
     month           =       (FWS month-name FWS) / obs-month
    
     month-name      =       "Jan" / "Feb" / "Mar" / "Apr" /
                             "May" / "Jun" / "Jul" / "Aug" /
                             "Sep" / "Oct" / "Nov" / "Dec"
    
     day             =       ([FWS] 1*2DIGIT) / obs-day
    
     time            =       time-of-day FWS zone
    
     time-of-day     =       hour ":" minute [ ":" second ]
    
     hour            =       2DIGIT / obs-hour
    
     minute          =       2DIGIT / obs-minute
    
     second          =       2DIGIT / obs-second
    
     zone            =       (( "+" / "-" ) 4DIGIT) / obs-zone
     
    日はその月の数値の日です。年は、1900 年以降の任意の数値年です。

    時刻は、指定された日付の真夜中からの時間、分、オプションで秒数を指定します。

    日付と時刻は現地時間を表す必要があります。

    ゾーンは、日付と時刻が表す協定世界時(UTC、以前は「Greenwich 平均時間」と呼ばれていました)からのオフセットを指定します。"+" または "-" は、時刻がユニバーサルタイムよりも進んでいる(つまり東にある)か、遅れている(つまり西にある)かを示します。最初の 2 桁はユニバーサルタイムとの時間差を示し、最後の 2 桁はユニバーサルタイムとの分差を示します。(したがって、+ hhmm は +(hh * 60 + mm)分を意味し、-hhmm は -(hh * 60 + mm)分を意味します)。"+0000" の形式は、ユニバーサルタイムのタイムゾーンを示すために使用する必要があります。"-0000" は世界時も示しますが、世界時以外のローカルタイムゾーンにある可能性のあるシステムで時刻が生成されたことを示すために使用されます。日時に現地時間に関する情報が含まれていないことを示します。ゾーン。

    日時指定は意味的に有効でなければなりません。つまり、曜日(含まれている場合)は日付によって示される日である必要があり、数値の曜日は 1 から指定された月(指定された年)に許可されている日数の間である必要があります)、時刻は 00:00:00 から 23:59:60(うるう秒を許容する秒数。[STD12] を参照)の範囲内である必要があり、ゾーンは -9959 から +9959 の範囲内である必要があります。

    同期

    日付形式は同期されません。スレッドごとに個別のフォーマットインスタンスを作成することをお勧めします。複数のスレッドが同時にフォーマットにアクセスする場合は、外部で同期する必要があります。

    導入:
    JavaMail 1.2
    作成者:
    Anthony Vanelverdinghe, Max Spivak
    関連事項:
    直列化された形式
    • コンストラクターの詳細

      • MailDateFormat

        public MailDateFormat()
        緩い構文解析を使用して、RFC2822 仕様の新しい日付形式を作成します。
    • メソッドの詳細

      • clone

        public MailDateFormat clone()
        Cloneable をオーバーライドします。
        オーバーライド:
        クラス SimpleDateFormatSEclone 
        戻り値:
        このインスタンスのクローン
        導入:
        JavaMail 1.6
      • format

        public StringBufferSE format​(DateSE date,
                                   StringBufferSE dateStrBuf,
                                   FieldPositionSE fieldPosition)
        指定された日付を、現在の TimeZone の RFC2822 で指定された形式でフォーマットします。
        オーバーライド:
        クラス SimpleDateFormatSEformatSE 
        パラメーター:
        date - Date オブジェクト
        dateStrBuf - フォーマットされた文字列
        fieldPosition - 現在のフィールド位置
        戻り値:
        StringBuffer フォーマットされた文字列
        導入:
        JavaMail 1.2
      • parse

        public DateSE parse​(StringSE text,
                          ParsePositionSE pos)
        指定された日付を RFC2822 で指定された形式で解析します。
        • 厳密な解析では、obs-* トークンはサポートされていません。寛大な解析は、1 文字の軍用タイムゾーンを除いて、obs-year と obs-zone をサポートします。
        • 最後のオプションの CFWS トークンは解析されません。
        • RFC 2822 は、"-0000" のゾーンは、日時にローカルタイムゾーンに関する情報が含まれていないことを示していると指定しています。この場合、このクラスは UTC タイムゾーンを使用します。
        オーバーライド:
        クラス SimpleDateFormatSEparseSE 
        パラメーター:
        text - 解析されるフォーマットされた日付
        pos - 現在の解析位置
        戻り値:
        解析された日付。エラーの場合、null を返します。
        導入:
        JavaMail 1.2
      • setCalendar

        public void setCalendar​(CalendarSE newCalendar)
        このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定のカレンダーを義務付けているため、使用しないでください。
        オーバーライド:
        クラス DateFormatSEsetCalendarSE 
        例外:
        UnsupportedOperationExceptionSE - このメソッドが呼び出された場合
      • setNumberFormat

        public void setNumberFormat​(NumberFormatSE newNumberFormat)
        このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定の数値形式を義務付けているため、使用しないでください。
        オーバーライド:
        クラス DateFormatSEsetNumberFormatSE 
        例外:
        UnsupportedOperationExceptionSE - このメソッドが呼び出された場合
      • applyLocalizedPattern

        public void applyLocalizedPattern​(StringSE pattern)
        このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定のパターンを義務付けているため、使用しないでください。
        オーバーライド:
        クラス SimpleDateFormatSEapplyLocalizedPatternSE 
        例外:
        UnsupportedOperationExceptionSE - このメソッドが呼び出された場合
        導入:
        JavaMail 1.6
      • applyPattern

        public void applyPattern​(StringSE pattern)
        このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定のパターンを義務付けているため、使用しないでください。
        オーバーライド:
        クラス SimpleDateFormatSEapplyPatternSE 
        例外:
        UnsupportedOperationExceptionSE - このメソッドが呼び出された場合
        導入:
        JavaMail 1.6
      • get2DigitYearStart

        public DateSE get2DigitYearStart()
        このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 が 2 桁の年を解釈するための別の戦略を義務付けているため、使用しないでください。
        オーバーライド:
        クラス SimpleDateFormatSEget2DigitYearStart 
        戻り値:
        2 桁の年が解析される 100 年の期間の開始
        例外:
        UnsupportedOperationExceptionSE - このメソッドが呼び出された場合
        導入:
        JavaMail 1.6
      • set2DigitYearStart

        public void set2DigitYearStart​(DateSE startDate)
        このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 が 2 桁の年を解釈するための別の戦略を義務付けているため、使用しないでください。
        オーバーライド:
        クラス SimpleDateFormatSEset2DigitYearStartSE 
        例外:
        UnsupportedOperationExceptionSE - このメソッドが呼び出された場合
        導入:
        JavaMail 1.6
      • setDateFormatSymbols

        public void setDateFormatSymbols​(DateFormatSymbolsSE newFormatSymbols)
        このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定の日付形式のシンボルを義務付けているため、使用しないでください。
        オーバーライド:
        クラス SimpleDateFormatSEsetDateFormatSymbolsSE 
        例外:
        UnsupportedOperationExceptionSE - このメソッドが呼び出された場合
        導入:
        JavaMail 1.6