Struct FloatingDuration
Represents a duration in time, or elapsed time, or a difference between two timestamps, with sub-tick precision.
public readonly struct FloatingDuration : IEquatable<FloatingDuration>, IComparable<FloatingDuration>, IComparable- Implements
- Inherited Members
Constructors
FloatingDuration(Duration)
Creates a new FloatingDuration instance.
public FloatingDuration(Duration duration)Parameters
FloatingDuration(decimal)
Creates a new FloatingDuration instance.
public FloatingDuration(decimal ticks)Parameters
- ticksdecimal
- Number of ticks. 
FloatingDuration(int, int, int, int, int, decimal)
Creates a new FloatingDuration instance.
public FloatingDuration(int hours, int minutes, int seconds = 0, int milliseconds = 0, int microseconds = 0, decimal ticks = 0)Parameters
- hoursint
- Number of hours. 
- minutesint
- Number of minutes. 
- secondsint
- Number of seconds. 
- millisecondsint
- Number of milliseconds. 
- microsecondsint
- Number of microseconds. 
- ticksdecimal
- Number of ticks. 
FloatingDuration(TimeSpan)
Creates a new FloatingDuration instance.
public FloatingDuration(TimeSpan timeSpan)Parameters
Fields
MaxValue
Specifies minimum possible FloatingDuration.
public static readonly FloatingDuration MaxValueField Value
MinValue
Specifies maximum possible FloatingDuration.
public static readonly FloatingDuration MinValueField Value
Zero
Specifies the FloatingDuration of 0 length.
public static readonly FloatingDuration ZeroField Value
Properties
FullHours
Total number of full hours.
public long FullHours { get; }Property Value
FullMicroseconds
Total number of full microseconds.
public long FullMicroseconds { get; }Property Value
FullMilliseconds
Total number of full milliseconds.
public long FullMilliseconds { get; }Property Value
FullMinutes
Total number of full minutes.
public long FullMinutes { get; }Property Value
FullSeconds
Total number of full seconds.
public long FullSeconds { get; }Property Value
FullTicks
Total number of full ticks.
public long FullTicks { get; }Property Value
MicrosecondsInMillisecond
Number of microseconds in the millisecond component.
public int MicrosecondsInMillisecond { get; }Property Value
MillisecondsInSecond
Number of milliseconds in the second component.
public int MillisecondsInSecond { get; }Property Value
MinutesInHour
Number of minutes in the hour component.
public int MinutesInHour { get; }Property Value
SecondsInMinute
Number of seconds in the minute component.
public int SecondsInMinute { get; }Property Value
Ticks
Total number of ticks. One tick is equivalent to 100 nanoseconds.
public decimal Ticks { get; }Property Value
TicksInMicrosecond
Number of ticks in the microsecond component.
public decimal TicksInMicrosecond { get; }Property Value
TotalHours
Total number of hours.
public decimal TotalHours { get; }Property Value
TotalMicroseconds
Total number of microseconds.
public decimal TotalMicroseconds { get; }Property Value
TotalMilliseconds
Total number of milliseconds.
public decimal TotalMilliseconds { get; }Property Value
TotalMinutes
Total number of minutes.
public decimal TotalMinutes { get; }Property Value
TotalSeconds
Total number of seconds.
public decimal TotalSeconds { get; }Property Value
Methods
Abs()
Creates a new FloatingDuration instance by calculating an absolute value from this instance.
[Pure]
public FloatingDuration Abs()Returns
- FloatingDuration
- New FloatingDuration instance. 
Add(FloatingDuration)
Creates a new FloatingDuration instance by adding other to this instance.
[Pure]
public FloatingDuration Add(FloatingDuration other)Parameters
- otherFloatingDuration
- Other instance to add. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
AddHours(decimal)
Creates a new FloatingDuration instance by adding the specified number of hours.
[Pure]
public FloatingDuration AddHours(decimal hours)Parameters
- hoursdecimal
- Hours to add. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
AddMicroseconds(decimal)
Creates a new FloatingDuration instance by adding the specified number of microseconds.
[Pure]
public FloatingDuration AddMicroseconds(decimal microseconds)Parameters
- microsecondsdecimal
- Microseconds to add. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
AddMilliseconds(decimal)
Creates a new FloatingDuration instance by adding the specified number of milliseconds.
[Pure]
public FloatingDuration AddMilliseconds(decimal milliseconds)Parameters
- millisecondsdecimal
- Milliseconds to add. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
AddMinutes(decimal)
Creates a new FloatingDuration instance by adding the specified number of minutes.
[Pure]
public FloatingDuration AddMinutes(decimal minutes)Parameters
- minutesdecimal
- Minutes to add. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
AddSeconds(decimal)
Creates a new FloatingDuration instance by adding the specified number of seconds.
[Pure]
public FloatingDuration AddSeconds(decimal seconds)Parameters
- secondsdecimal
- Seconds to add. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
AddTicks(decimal)
Creates a new FloatingDuration instance by adding the specified number of ticks.
[Pure]
public FloatingDuration AddTicks(decimal ticks)Parameters
- ticksdecimal
- Ticks to add. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
CompareTo(FloatingDuration)
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
[Pure]
public int CompareTo(FloatingDuration other)Parameters
- otherFloatingDuration
- An object to compare with this instance. 
Returns
- int
- A value that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance precedes - otherin the sort order.- Zero - This instance occurs in the same position in the sort order as - other.- Greater than zero - This instance follows - otherin the sort order.
CompareTo(object?)
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
[Pure]
public int CompareTo(object? obj)Parameters
- objobject
- An object to compare with this instance. 
Returns
- int
- A value that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance precedes - objin the sort order.- Zero - This instance occurs in the same position in the sort order as - obj.- Greater than zero - This instance follows - objin the sort order.
Exceptions
- ArgumentException
- objis not the same type as this instance.
Divide(decimal)
Creates a new FloatingDuration instance by dividing this instance by the provided divisor.
[Pure]
public FloatingDuration Divide(decimal divisor)Parameters
- divisordecimal
- Value to divide by. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
Exceptions
- DivideByZeroException
- When - divisoris equal to 0.
Equals(FloatingDuration)
Indicates whether the current object is equal to another object of the same type.
[Pure]
public bool Equals(FloatingDuration other)Parameters
- otherFloatingDuration
- An object to compare with this object. 
Returns
Equals(object?)
Indicates whether this instance and a specified object are equal.
[Pure]
public override bool Equals(object? obj)Parameters
- objobject
- The object to compare with the current instance. 
Returns
- bool
- true if - objand this instance are the same type and represent the same value; otherwise, false.
FromHours(decimal)
Creates a new FloatingDuration instance.
[Pure]
public static FloatingDuration FromHours(decimal hours)Parameters
- hoursdecimal
- Number of hours. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
FromMicroseconds(decimal)
Creates a new FloatingDuration instance.
[Pure]
public static FloatingDuration FromMicroseconds(decimal microseconds)Parameters
- microsecondsdecimal
- Number of microseconds. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
FromMilliseconds(decimal)
Creates a new FloatingDuration instance.
[Pure]
public static FloatingDuration FromMilliseconds(decimal milliseconds)Parameters
- millisecondsdecimal
- Number of milliseconds. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
FromMinutes(decimal)
Creates a new FloatingDuration instance.
[Pure]
public static FloatingDuration FromMinutes(decimal minutes)Parameters
- minutesdecimal
- Number of minutes. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
FromSeconds(decimal)
Creates a new FloatingDuration instance.
[Pure]
public static FloatingDuration FromSeconds(decimal seconds)Parameters
- secondsdecimal
- Number of seconds. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
FromTicks(decimal)
Creates a new FloatingDuration instance.
[Pure]
public static FloatingDuration FromTicks(decimal ticks)Parameters
- ticksdecimal
- Number of ticks. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
GetHashCode()
Returns the hash code for this instance.
[Pure]
public override int GetHashCode()Returns
- int
- A 32-bit signed integer that is the hash code for this instance. 
Multiply(Percent)
Creates a new FloatingDuration instance by multiplying this instance by the provided percent.
[Pure]
public FloatingDuration Multiply(Percent percent)Parameters
- percentPercent
- Percent to multiply by. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
Multiply(decimal)
Creates a new FloatingDuration instance by multiplying this instance by the provided multiplier.
[Pure]
public FloatingDuration Multiply(decimal multiplier)Parameters
- multiplierdecimal
- Value to multiply by. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
Negate()
Creates a new FloatingDuration instance by negating this instance.
[Pure]
public FloatingDuration Negate()Returns
- FloatingDuration
- New FloatingDuration instance. 
SetHours(long)
Creates a new FloatingDuration instance by setting the number of hours.
[Pure]
public FloatingDuration SetHours(long value)Parameters
- valuelong
- New value. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
SetMicrosecondsInMillisecond(int)
Creates a new FloatingDuration instance by setting the number of microseconds in the millisecond component.
[Pure]
public FloatingDuration SetMicrosecondsInMillisecond(int value)Parameters
- valueint
- New value. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
Exceptions
- ArgumentOutOfRangeException
- When - valueis not in a valid range.
SetMillisecondsInSecond(int)
Creates a new FloatingDuration instance by setting the number of milliseconds in the second component.
[Pure]
public FloatingDuration SetMillisecondsInSecond(int value)Parameters
- valueint
- New value. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
Exceptions
- ArgumentOutOfRangeException
- When - valueis not in a valid range.
SetMinutesInHour(int)
Creates a new FloatingDuration instance by setting the number of minutes in the hour component.
[Pure]
public FloatingDuration SetMinutesInHour(int value)Parameters
- valueint
- New value. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
Exceptions
- ArgumentOutOfRangeException
- When - valueis not in a valid range.
SetSecondsInMinute(int)
Creates a new FloatingDuration instance by setting the number of seconds in the minute component.
[Pure]
public FloatingDuration SetSecondsInMinute(int value)Parameters
- valueint
- New value. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
Exceptions
- ArgumentOutOfRangeException
- When - valueis not in a valid range.
SetTicksInMicrosecond(decimal)
Creates a new FloatingDuration instance by setting the number of ticks in the microsecond component.
[Pure]
public FloatingDuration SetTicksInMicrosecond(decimal value)Parameters
- valuedecimal
- New value. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
Exceptions
- ArgumentOutOfRangeException
- When - valueis not in a valid range.
Subtract(FloatingDuration)
Creates a new FloatingDuration instance by subtracting other from this instance.
[Pure]
public FloatingDuration Subtract(FloatingDuration other)Parameters
- otherFloatingDuration
- Other instance to subtract. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
SubtractHours(decimal)
Creates a new FloatingDuration instance by subtracting the specified number of hours.
[Pure]
public FloatingDuration SubtractHours(decimal hours)Parameters
- hoursdecimal
- Hours to subtract. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
SubtractMicroseconds(decimal)
Creates a new FloatingDuration instance by subtracting the specified number of microseconds.
[Pure]
public FloatingDuration SubtractMicroseconds(decimal microseconds)Parameters
- microsecondsdecimal
- Microseconds to subtract. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
SubtractMilliseconds(decimal)
Creates a new FloatingDuration instance by subtracting the specified number of milliseconds.
[Pure]
public FloatingDuration SubtractMilliseconds(decimal milliseconds)Parameters
- millisecondsdecimal
- Milliseconds to subtract. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
SubtractMinutes(decimal)
Creates a new FloatingDuration instance by subtracting the specified number of minutes.
[Pure]
public FloatingDuration SubtractMinutes(decimal minutes)Parameters
- minutesdecimal
- Minutes to subtract. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
SubtractSeconds(decimal)
Creates a new FloatingDuration instance by subtracting the specified number of seconds.
[Pure]
public FloatingDuration SubtractSeconds(decimal seconds)Parameters
- secondsdecimal
- Seconds to subtract. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
SubtractTicks(decimal)
Creates a new FloatingDuration instance by subtracting the specified number of ticks.
[Pure]
public FloatingDuration SubtractTicks(decimal ticks)Parameters
- ticksdecimal
- Ticks to subtract. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
ToString()
Returns a string representation of this FloatingDuration instance.
[Pure]
public override string ToString()Returns
- string
- String representation. 
TrimToHour()
Creates a new FloatingDuration instance by truncating this instance to hours.
[Pure]
public FloatingDuration TrimToHour()Returns
- FloatingDuration
- New FloatingDuration instance. 
TrimToMicrosecond()
Creates a new FloatingDuration instance by truncating this instance to microseconds.
[Pure]
public FloatingDuration TrimToMicrosecond()Returns
- FloatingDuration
- New FloatingDuration instance. 
TrimToMillisecond()
Creates a new FloatingDuration instance by truncating this instance to milliseconds.
[Pure]
public FloatingDuration TrimToMillisecond()Returns
- FloatingDuration
- New FloatingDuration instance. 
TrimToMinute()
Creates a new FloatingDuration instance by truncating this instance to minutes.
[Pure]
public FloatingDuration TrimToMinute()Returns
- FloatingDuration
- New FloatingDuration instance. 
TrimToSecond()
Creates a new FloatingDuration instance by truncating this instance to seconds.
[Pure]
public FloatingDuration TrimToSecond()Returns
- FloatingDuration
- New FloatingDuration instance. 
TrimToTick()
Creates a new FloatingDuration instance by truncating this instance to ticks.
[Pure]
public FloatingDuration TrimToTick()Returns
- FloatingDuration
- New FloatingDuration instance. 
Operators
operator +(FloatingDuration, FloatingDuration)
Creates a new FloatingDuration instance by adding a and b together.
[Pure]
public static FloatingDuration operator +(FloatingDuration a, FloatingDuration b)Parameters
- aFloatingDuration
- First operand. 
- bFloatingDuration
- Second operand. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
operator /(FloatingDuration, decimal)
Creates a new FloatingDuration instance by dividing a by b.
[Pure]
public static FloatingDuration operator /(FloatingDuration a, decimal b)Parameters
- aFloatingDuration
- First operand. 
- bdecimal
- Second operand. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
Exceptions
- DivideByZeroException
- When - bis equal to 0.
operator ==(FloatingDuration, FloatingDuration)
Checks if a is equal to b.
[Pure]
public static bool operator ==(FloatingDuration a, FloatingDuration b)Parameters
- aFloatingDuration
- First operand. 
- bFloatingDuration
- Second operand. 
Returns
- bool
- true when operands are equal, otherwise false. 
explicit operator Duration(FloatingDuration)
Converts the provided floating duration to Duration.
[Pure]
public static explicit operator Duration(FloatingDuration d)Parameters
- dFloatingDuration
- Value to convert. 
Returns
explicit operator TimeSpan(FloatingDuration)
Converts the provided floating duration to TimeSpan.
[Pure]
public static explicit operator TimeSpan(FloatingDuration d)Parameters
- dFloatingDuration
- Value to convert. 
Returns
operator >(FloatingDuration, FloatingDuration)
Checks if a is greater than b.
[Pure]
public static bool operator >(FloatingDuration a, FloatingDuration b)Parameters
- aFloatingDuration
- First operand. 
- bFloatingDuration
- Second operand. 
Returns
- bool
- true when - ais greater than- b, otherwise false.
operator >=(FloatingDuration, FloatingDuration)
Checks if a is greater than or equal to b.
[Pure]
public static bool operator >=(FloatingDuration a, FloatingDuration b)Parameters
- aFloatingDuration
- First operand. 
- bFloatingDuration
- Second operand. 
Returns
- bool
- true when - ais greater than or equal to- b, otherwise false.
operator !=(FloatingDuration, FloatingDuration)
Checks if a is not equal to b.
[Pure]
public static bool operator !=(FloatingDuration a, FloatingDuration b)Parameters
- aFloatingDuration
- First operand. 
- bFloatingDuration
- Second operand. 
Returns
- bool
- true when operands are not equal, otherwise false. 
operator <(FloatingDuration, FloatingDuration)
Checks if a is less than b.
[Pure]
public static bool operator <(FloatingDuration a, FloatingDuration b)Parameters
- aFloatingDuration
- First operand. 
- bFloatingDuration
- Second operand. 
Returns
- bool
- true when - ais less than- b, otherwise false.
operator <=(FloatingDuration, FloatingDuration)
Checks if a is less than or equal to b.
[Pure]
public static bool operator <=(FloatingDuration a, FloatingDuration b)Parameters
- aFloatingDuration
- First operand. 
- bFloatingDuration
- Second operand. 
Returns
- bool
- true when - ais less than or equal to- b, otherwise false.
operator *(FloatingDuration, Percent)
Creates a new FloatingDuration instance by multiplying a and b together.
[Pure]
public static FloatingDuration operator *(FloatingDuration a, Percent b)Parameters
- aFloatingDuration
- First operand. 
- bPercent
- Second operand. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
operator *(FloatingDuration, decimal)
Creates a new FloatingDuration instance by multiplying a and b together.
[Pure]
public static FloatingDuration operator *(FloatingDuration a, decimal b)Parameters
- aFloatingDuration
- First operand. 
- bdecimal
- Second operand. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
operator *(Percent, FloatingDuration)
Creates a new FloatingDuration instance by multiplying a and b together.
[Pure]
public static FloatingDuration operator *(Percent a, FloatingDuration b)Parameters
- aPercent
- First operand. 
- bFloatingDuration
- Second operand. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
operator -(FloatingDuration, FloatingDuration)
Creates a new FloatingDuration instance by subtracting b from a.
[Pure]
public static FloatingDuration operator -(FloatingDuration a, FloatingDuration b)Parameters
- aFloatingDuration
- First operand. 
- bFloatingDuration
- Second operand. 
Returns
- FloatingDuration
- New FloatingDuration instance. 
operator -(FloatingDuration)
Creates a new FloatingDuration instance by negating the provided a.
[Pure]
public static FloatingDuration operator -(FloatingDuration a)Parameters
- aFloatingDuration
- Operand. 
Returns
- FloatingDuration
- New FloatingDuration instance.