Duration.Subtract(Duration) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
値 this-rhs
が である新しい期間を計算します。
[Android.Runtime.Register("subtract", "(Ljavax/xml/datatype/Duration;)Ljavax/xml/datatype/Duration;", "GetSubtract_Ljavax_xml_datatype_Duration_Handler")]
public virtual Javax.Xml.Datatype.Duration? Subtract (Javax.Xml.Datatype.Duration? rhs);
[<Android.Runtime.Register("subtract", "(Ljavax/xml/datatype/Duration;)Ljavax/xml/datatype/Duration;", "GetSubtract_Ljavax_xml_datatype_Duration_Handler")>]
abstract member Subtract : Javax.Xml.Datatype.Duration -> Javax.Xml.Datatype.Duration
override this.Subtract : Javax.Xml.Datatype.Duration -> Javax.Xml.Datatype.Duration
パラメーター
- rhs
- Duration
Duration
この Duration
から減算する場合は 。
戻り値
この Duration
から減算してrhs
作成された新しい Duration
。
- 属性
例外
2 つの期間を有意に減算できない場合。 たとえば、1 か月から 1 日を減算すると、この例外が発生します。
rhs パラメーターが null の場合。
注釈
値 this-rhs
が である新しい期間を計算します。
例:
"1 day" - "-3 days" = "4 days"
"1 year" - "1 day" = IllegalStateException
"-(1 hour,50 minutes)" - "-20 minutes" = "-(1hours,30 minutes)"
"15 hours" - "-3 days" = "3 days and 15 hours"
"1 year" - "-1 day" = "1 year and 1 day"
1 か月から 1 日を有意に減算する方法がないため、 で IllegalStateException
操作が失敗する場合があります。
正式には、計算は次のように定義されます。 まず、一般性を失うことなく、2 つの Duration
s が両方とも正であると仮定できます。 (つまり、(-X)-Y=-(X+Y)
X-(-Y)=X+Y
(-X)-(-Y)=-(X-Y)
)
次に、フィールドごとに 2 つの期間が減算されます。 0 以外のフィールドの符号が最も重要なフィールド F
の符号と異なる場合は、1 (負の場合) または -1 (それ以外の場合 F
) は の次の大きな単位 F
から借用されます。
このプロセスは、0 以外のすべてのフィールドに同じ符号が付くまで繰り返されます。
日フィールドで借用が発生した場合 (つまり、計算で日を補うために 1 か月または -1 か月を借用する必要がある場合)、計算は をスロー IllegalStateException
して失敗します。
の Java ドキュメント javax.xml.datatype.Duration.subtract(javax.xml.datatype.Duration)
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。