Duration.Subtract(Duration) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.