Lingua

Duration.Subtract(Duration) Metodo

Definizione

Calcola una nuova durata il cui valore è 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

Parametri

rhs
Duration

Duration per sottrarre da questo Durationoggetto .

Valori restituiti

Nuovo Duration creato dalla sottrazione rhs da questo Durationoggetto .

Attributi

Eccezioni

Se non è possibile sottrarre significativamente due durate. Ad esempio, la sottrazione di un giorno da un mese causa questa eccezione.

Se il parametro rhs è Null.

Commenti

Calcola una nuova durata il cui valore è this-rhs.

Per esempio:

"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"

Poiché non è possibile sottrarre significativamente 1 giorno da 1 mese, esistono casi in cui l'operazione ha esito negativo in IllegalStateException.

Formalmente il calcolo è definito come segue. In primo luogo, possiamo presupporre che due Durationsono entrambi positivi senza perdere la generalità. (ad esempio, (-X)-Y=-(X+Y), X-(-Y)=X+Y, ) (-X)-(-Y)=-(X-Y)

Vengono quindi sottratte due durate per campo. Se il segno di un campo F diverso da zero è diverso dal segno del campo più significativo, 1 (se F è negativo) o -1 (in caso contrario) verrà preso in prestito dall'unità più grande successiva di F.

Questo processo viene ripetuto fino a quando tutti i campi diversi da zero non hanno lo stesso segno.

Se un prestito si verifica nel campo giorni (in altre parole, se il calcolo deve prendere in prestito 1 o -1 mese per compensare i giorni), il calcolo ha esito negativo generando un'eccezione IllegalStateException.

per javax.xml.datatype.Duration.subtract(javax.xml.datatype.Duration).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a

Vedi anche