クラス MailDateFormat
- java.lang.ObjectSE
-
- java.text.FormatSE
-
- java.text.DateFormatSE
-
- java.text.SimpleDateFormatSE
-
- jakarta.mail.internet.MailDateFormat
- 実装されたすべてのインターフェース:
SerializableSE
,CloneableSE
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
- 関連事項:
- 直列化された形式
ネストされたクラスのサマリー
クラス java.text.DateFormatSE から継承されたネストクラス / インターフェース
DateFormat.FieldSE
フィールドサマリー
クラス java.text.DateFormatSE から継承されたフィールド
AM_PM_FIELDSE, calendarSE, DATE_FIELDSE, DAY_OF_WEEK_FIELDSE, DAY_OF_WEEK_IN_MONTH_FIELDSE, DAY_OF_YEAR_FIELDSE, DEFAULTSE, ERA_FIELDSE, FULLSE, HOUR_OF_DAY0_FIELDSE, HOUR_OF_DAY1_FIELDSE, HOUR0_FIELDSE, HOUR1_FIELDSE, LONGSE, MEDIUMSE, MILLISECOND_FIELDSE, MINUTE_FIELDSE, MONTH_FIELDSE, numberFormatSE, SECOND_FIELDSE, SHORTSE, TIMEZONE_FIELDSE, WEEK_OF_MONTH_FIELDSE, WEEK_OF_YEAR_FIELDSE, YEAR_FIELDSE
コンストラクターのサマリー
コンストラクター コンストラクター 説明 MailDateFormat()
緩い構文解析を使用して、RFC2822 仕様の新しい日付形式を作成します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 void
applyLocalizedPattern(StringSE pattern)
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定のパターンを義務付けているため、使用しないでください。void
applyPattern(StringSE pattern)
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定のパターンを義務付けているため、使用しないでください。MailDateFormat
clone()
Cloneable をオーバーライドします。StringBufferSE
format(DateSE date, StringBufferSE dateStrBuf, FieldPositionSE fieldPosition)
指定された日付を、現在の TimeZone の RFC2822 で指定された形式でフォーマットします。DateSE
get2DigitYearStart()
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 が 2 桁の年を解釈するための別の戦略を義務付けているため、使用しないでください。DateSE
parse(StringSE text, ParsePositionSE pos)
指定された日付を RFC2822 で指定された形式で解析します。void
set2DigitYearStart(DateSE startDate)
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 が 2 桁の年を解釈するための別の戦略を義務付けているため、使用しないでください。void
setCalendar(CalendarSE newCalendar)
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定のカレンダーを義務付けているため、使用しないでください。void
setDateFormatSymbols(DateFormatSymbolsSE newFormatSymbols)
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定の日付形式のシンボルを義務付けているため、使用しないでください。void
setNumberFormat(NumberFormatSE newNumberFormat)
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定の数値形式を義務付けているため、使用しないでください。クラス java.text.SimpleDateFormatSE から継承されたメソッド
equalsSE, formatToCharacterIteratorSE, getDateFormatSymbols, hashCode, toLocalizedPattern, toPattern
クラス java.text.DateFormatSE から継承されたメソッド
formatSE, formatSE, getAvailableLocales, getCalendar, getDateInstance, getDateInstanceSE, getDateInstanceSE, getDateTimeInstance, getDateTimeInstanceSE, getDateTimeInstanceSE, getInstance, getNumberFormat, getTimeInstance, getTimeInstanceSE, getTimeInstanceSE, getTimeZone, isLenient, parseSE, parseObjectSE, setLenientSE, setTimeZoneSE
クラス java.text.FormatSE から継承されたメソッド
formatSE, parseObjectSE
メソッドの詳細
clone
public MailDateFormat clone()
Cloneable をオーバーライドします。- オーバーライド:
- クラス
SimpleDateFormatSE
のclone
- 戻り値:
- このインスタンスのクローン
- 導入:
- JavaMail 1.6
format
public StringBufferSE format(DateSE date, StringBufferSE dateStrBuf, FieldPositionSE fieldPosition)
指定された日付を、現在の TimeZone の RFC2822 で指定された形式でフォーマットします。- オーバーライド:
- クラス
SimpleDateFormatSE
のformatSE
- パラメーター:
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 タイムゾーンを使用します。
- オーバーライド:
- クラス
SimpleDateFormatSE
のparseSE
- パラメーター:
text
- 解析されるフォーマットされた日付pos
- 現在の解析位置- 戻り値:
- 解析された日付。エラーの場合、null を返します。
- 導入:
- JavaMail 1.2
setCalendar
public void setCalendar(CalendarSE newCalendar)
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定のカレンダーを義務付けているため、使用しないでください。- オーバーライド:
- クラス
DateFormatSE
のsetCalendarSE
- 例外:
UnsupportedOperationExceptionSE
- このメソッドが呼び出された場合
setNumberFormat
public void setNumberFormat(NumberFormatSE newNumberFormat)
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定の数値形式を義務付けているため、使用しないでください。- オーバーライド:
- クラス
DateFormatSE
のsetNumberFormatSE
- 例外:
UnsupportedOperationExceptionSE
- このメソッドが呼び出された場合
applyLocalizedPattern
public void applyLocalizedPattern(StringSE pattern)
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定のパターンを義務付けているため、使用しないでください。- オーバーライド:
- クラス
SimpleDateFormatSE
のapplyLocalizedPatternSE
- 例外:
UnsupportedOperationExceptionSE
- このメソッドが呼び出された場合- 導入:
- JavaMail 1.6
applyPattern
public void applyPattern(StringSE pattern)
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定のパターンを義務付けているため、使用しないでください。- オーバーライド:
- クラス
SimpleDateFormatSE
のapplyPatternSE
- 例外:
UnsupportedOperationExceptionSE
- このメソッドが呼び出された場合- 導入:
- JavaMail 1.6
get2DigitYearStart
public DateSE get2DigitYearStart()
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 が 2 桁の年を解釈するための別の戦略を義務付けているため、使用しないでください。- オーバーライド:
- クラス
SimpleDateFormatSE
のget2DigitYearStart
- 戻り値:
- 2 桁の年が解析される 100 年の期間の開始
- 例外:
UnsupportedOperationExceptionSE
- このメソッドが呼び出された場合- 導入:
- JavaMail 1.6
set2DigitYearStart
public void set2DigitYearStart(DateSE startDate)
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 が 2 桁の年を解釈するための別の戦略を義務付けているため、使用しないでください。- オーバーライド:
- クラス
SimpleDateFormatSE
のset2DigitYearStartSE
- 例外:
UnsupportedOperationExceptionSE
- このメソッドが呼び出された場合- 導入:
- JavaMail 1.6
setDateFormatSymbols
public void setDateFormatSymbols(DateFormatSymbolsSE newFormatSymbols)
このメソッドは常に UnsupportedOperationException をスローし、RFC 2822 は特定の日付形式のシンボルを義務付けているため、使用しないでください。- オーバーライド:
- クラス
SimpleDateFormatSE
のsetDateFormatSymbolsSE
- 例外:
UnsupportedOperationExceptionSE
- このメソッドが呼び出された場合- 導入:
- JavaMail 1.6