Duration.Subtract(Duration) メソッド

定義

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 つの Durations が両方とも正であると仮定できます。 (つまり、(-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)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

こちらもご覧ください