Struct Offset
An offset from UTC in milliseconds. A positive value means that the local time is
ahead of UTC (e.g. for Europe); a negative value means that the local time is behind
UTC (e.g. for America).
Since 1.0.x
Availability net35-Client, PCL
Implements
IEquatable<Offset>
IComparable<Offset>
IFormattable
IComparable
IXmlSerializable
ISerializable
Inherited Members
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetType()
Namespace: NodaTime
Assembly: NodaTime.dll
Syntax
[Serializable]
public struct Offset : IEquatable<Offset>, IComparable<Offset>, IFormattable, IComparable, IXmlSerializable, ISerializable
Remarks
Offsets are always strictly less than 24 hours (as either a positive or negative offset).
Fields
MaxValue
The maximum permitted offset; one millisecond less than a standard day after UTC.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static readonly Offset MaxValue
Field Value
Type | Description |
---|---|
Offset |
MinValue
The minimum permitted offset; one millisecond less than a standard day before UTC.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static readonly Offset MinValue
Field Value
Type | Description |
---|---|
Offset |
Zero
An offset of zero ticks - effectively the permanent offset for UTC.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static readonly Offset Zero
Field Value
Type | Description |
---|---|
Offset |
Properties
Milliseconds
Gets the total number of milliseconds in the offset, which may be negative.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public int Milliseconds { get; }
Property Value
Type | Description |
---|---|
Int32 |
Ticks
Returns the number of ticks represented by this offset, which may be negative.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public long Ticks { get; }
Property Value
Type | Description |
---|---|
Int64 | The number of ticks. |
Remarks
Offsets are only accurate to millisecond precision; the number of milliseconds is simply multiplied
by 10,000 to give the number of ticks.
Methods
Add(Offset, Offset)
Adds one Offset to another. Friendly alternative to
operator+()
.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset Add(Offset left, Offset right)
Parameters
Type | Name | Description |
---|---|---|
Offset | left | The left hand side of the operator. |
Offset | right | The right hand side of the operator. |
Returns
Type | Description |
---|---|
Offset | A new Offset representing the sum of the given values. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
CompareTo(Offset)
Compares the current object with another object of the same type.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public int CompareTo(Offset other)
Parameters
Type | Name | Description |
---|---|---|
Offset | other | An object to compare with this object. |
Returns
Type | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
Int32 |
A 32-bit signed integer that indicates the relative order of the objects being compared.
The return value has the following meanings:
|
Equals(Offset)
Indicates whether the current object is equal to another object of the same type.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public bool Equals(Offset other)
Parameters
Type | Name | Description |
---|---|---|
Offset | other | An object to compare with this object. |
Returns
Type | Description |
---|---|
Boolean |
true if the current object is equal to the other parameter;
otherwise, false.
|
Equals(Object)
Determines whether the specified System.Object is equal to this instance.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj | The System.Object to compare with this instance. |
Returns
Type | Description |
---|---|
Boolean |
true if the specified System.Object is equal to this instance;
otherwise, false .
|
Overrides
System.ValueType.Equals(System.Object)
FromHours(Int32)
Creates an offset with the specified number of hours, which may be negative.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset FromHours(int hours)
Parameters
Type | Name | Description |
---|---|---|
Int32 | hours | The number of hours to represent in the new offset. |
Returns
Type | Description |
---|---|
Offset | A new Offset representing the given value. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
FromHoursAndMinutes(Int32, Int32)
Creates an offset with the specified number of hours and minutes.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset FromHoursAndMinutes(int hours, int minutes)
Parameters
Type | Name | Description |
---|---|---|
Int32 | hours | The number of hours to represent in the new offset. |
Int32 | minutes | The number of minutes to represent in the new offset. |
Returns
Type | Description |
---|---|
Offset | A new Offset representing the given value. |
Remarks
The result simply takes the hours and minutes and converts each component into milliseconds
separately. As a result, a negative offset should usually be obtained by making both arguments
negative. For example, to obtain "three hours and ten minutes behind UTC" you might call
Offset.FromHoursAndMinutes(-3, -10)
.
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
FromMilliseconds(Int32)
Returns the offset for the given milliseconds value, which may be negative.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset FromMilliseconds(int milliseconds)
Parameters
Type | Name | Description |
---|---|---|
Int32 | milliseconds | The int milliseconds value. |
Returns
Type | Description |
---|---|
Offset | The Offset for the given milliseconds value |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
FromTicks(Int64)
Creates a new offset from the given number of ticks, which may be negative.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset FromTicks(long ticks)
Parameters
Type | Name | Description |
---|---|---|
Int64 | ticks | The number of ticks specifying the length of the new offset. |
Returns
Type | Description |
---|---|
Offset | An offset representing the given number of ticks, to the (truncated) millisecond. |
Remarks
Offsets are only accurate to millisecond precision; the given number of ticks is simply divided
by 10,000 to give the number of milliseconds - any remainder is truncated.
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
GetHashCode()
Returns a hash code for this instance.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
Int32 | A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. |
Overrides
System.ValueType.GetHashCode()
Max(Offset, Offset)
Returns the greater offset of the given two, i.e. the one which will give a later local
time when added to an instant.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset Max(Offset x, Offset y)
Parameters
Type | Name | Description |
---|---|---|
Offset | x | The first offset |
Offset | y | The second offset |
Returns
Type | Description |
---|---|
Offset | The greater offset of x and y . |
Min(Offset, Offset)
Returns the lower offset of the given two, i.e. the one which will give an earlier local
time when added to an instant.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset Min(Offset x, Offset y)
Parameters
Type | Name | Description |
---|---|---|
Offset | x | The first offset |
Offset | y | The second offset |
Returns
Type | Description |
---|---|
Offset | The lower offset of x and y . |
Minus(Offset)
Returns the result of subtracting another Offset from this one, for a fluent alternative to
operator-()
.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public Offset Minus(Offset other)
Parameters
Type | Name | Description |
---|---|---|
Offset | other | The offset to subtract |
Returns
Type | Description |
---|---|
Offset | The result of subtracting the other offset from this one. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
Negate(Offset)
Returns the negation of the specified offset. This is the method form of the unary minus operator.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset Negate(Offset offset)
Parameters
Type | Name | Description |
---|---|---|
Offset | offset | The offset to negate. |
Returns
Type | Description |
---|---|
Offset | The negation of the specified offset. |
Plus(Offset)
Returns the result of adding another Offset to this one, for a fluent alternative to
operator+()
.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public Offset Plus(Offset other)
Parameters
Type | Name | Description |
---|---|---|
Offset | other | The offset to add |
Returns
Type | Description |
---|---|
Offset | The result of adding the other offset to this one. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
Subtract(Offset, Offset)
Subtracts one Offset from another. Friendly alternative to
operator-()
.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset Subtract(Offset minuend, Offset subtrahend)
Parameters
Type | Name | Description |
---|---|---|
Offset | minuend | The left hand side of the operator. |
Offset | subtrahend | The right hand side of the operator. |
Returns
Type | Description |
---|---|
Offset | A new Offset representing the difference of the given values. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
ToString()
Returns a System.String that represents this instance.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
String | The value of the current instance in the default format pattern ("g"), using the current thread's culture to obtain a format provider. |
Overrides
System.ValueType.ToString()
ToString(String, IFormatProvider)
Formats the value of the current instance using the specified pattern.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public string ToString(string patternText, IFormatProvider formatProvider)
Parameters
Type | Name | Description |
---|---|---|
String | patternText | The System.String specifying the pattern to use, or null to use the default format pattern ("g"). |
IFormatProvider | formatProvider | The System.IFormatProvider to use when formatting the value, or null to use the current thread's culture to obtain a format provider. |
Returns
Type | Description |
---|---|
String | A System.String containing the value of the current instance in the specified format. |
ToTimeSpan()
Converts this offset to a .NET standard System.TimeSpan value.
Since 1.0.x
Availability net35-Client, PCL
Declaration
public TimeSpan ToTimeSpan()
Returns
Type | Description |
---|---|
TimeSpan | An equivalent System.TimeSpan to this value. |
Operators
Addition(Offset, Offset)
Implements the operator + (addition).
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset operator +(Offset left, Offset right)
Parameters
Type | Name | Description |
---|---|---|
Offset | left | The left hand side of the operator. |
Offset | right | The right hand side of the operator. |
Returns
Type | Description |
---|---|
Offset | A new Offset representing the sum of the given values. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
Equality(Offset, Offset)
Implements the operator == (equality).
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator ==(Offset left, Offset right)
Parameters
Type | Name | Description |
---|---|---|
Offset | left | The left hand side of the operator. |
Offset | right | The right hand side of the operator. |
Returns
Type | Description |
---|---|
Boolean | true if values are equal to each other, otherwise false . |
GreaterThan(Offset, Offset)
Implements the operator > (greater than).
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator>(Offset left, Offset right)
Parameters
Type | Name | Description |
---|---|---|
Offset | left | The left hand side of the operator. |
Offset | right | The right hand side of the operator. |
Returns
Type | Description |
---|---|
Boolean | true if the left value is greater than the right value, otherwise false . |
GreaterThanOrEqual(Offset, Offset)
Implements the operator >= (greater than or equal).
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator >=(Offset left, Offset right)
Parameters
Type | Name | Description |
---|---|---|
Offset | left | The left hand side of the operator. |
Offset | right | The right hand side of the operator. |
Returns
Type | Description |
---|---|
Boolean | true if the left value is greater than or equal to the right value, otherwise false . |
Inequality(Offset, Offset)
Implements the operator != (inequality).
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator !=(Offset left, Offset right)
Parameters
Type | Name | Description |
---|---|---|
Offset | left | The left hand side of the operator. |
Offset | right | The right hand side of the operator. |
Returns
Type | Description |
---|---|
Boolean | true if values are not equal to each other, otherwise false . |
LessThan(Offset, Offset)
Implements the operator < (less than).
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator <(Offset left, Offset right)
Parameters
Type | Name | Description |
---|---|---|
Offset | left | The left hand side of the operator. |
Offset | right | The right hand side of the operator. |
Returns
Type | Description |
---|---|
Boolean | true if the left value is less than the right value, otherwise false . |
LessThanOrEqual(Offset, Offset)
Implements the operator <= (less than or equal).
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static bool operator <=(Offset left, Offset right)
Parameters
Type | Name | Description |
---|---|---|
Offset | left | The left hand side of the operator. |
Offset | right | The right hand side of the operator. |
Returns
Type | Description |
---|---|
Boolean | true if the left value is less than or equal to the right value, otherwise false . |
Subtraction(Offset, Offset)
Implements the operator - (subtraction).
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset operator -(Offset minuend, Offset subtrahend)
Parameters
Type | Name | Description |
---|---|---|
Offset | minuend | The left hand side of the operator. |
Offset | subtrahend | The right hand side of the operator. |
Returns
Type | Description |
---|---|
Offset | A new Offset representing the difference of the given values. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
ArgumentOutOfRangeException | The result of the operation is outside the range of Offset. |
UnaryNegation(Offset)
Implements the unary operator - (negation).
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset operator -(Offset offset)
Parameters
Type | Name | Description |
---|---|---|
Offset | offset | The offset to negate. |
Returns
Type | Description |
---|---|
Offset | A new Offset instance with a negated value. |
UnaryPlus(Offset)
Implements the unary operator + .
Since 1.0.x
Availability net35-Client, PCL
Declaration
public static Offset operator +(Offset offset)
Parameters
Type | Name | Description |
---|---|---|
Offset | offset | The operand. |
Returns
Type | Description |
---|---|
Offset | The same Offset instance |
Remarks
There is no method form of this operator; the Plus(Offset) method is an instance
method for addition, and is more useful than a method form of this would be.
Explicit Interface Implementations
IComparable.CompareTo(Object)
Implementation of System.IComparable.CompareTo(System.Object) to compare two offsets.
Since 1.0.x
Availability net35-Client, PCL
Declaration
int IComparable.CompareTo(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj | The object to compare this value with. |
Returns
Type | Description |
---|---|
Int32 | The result of comparing this instant with another one; see CompareTo(Offset) for general details.
If obj is null, this method returns a value greater than 0.
|
Remarks
This uses explicit interface implementation to avoid it being called accidentally. The generic implementation should usually be preferred.
Exceptions
Type | Condition |
---|---|
ArgumentException | obj is non-null but does not refer to an instance of Offset. |
ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Implementation of System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext).
Since 1.2.x
Availability net35-Client
Declaration
[SecurityCritical]
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
Parameters
Type | Name | Description |
---|---|---|
SerializationInfo | info | The System.Runtime.Serialization.SerializationInfo to populate with data. |
StreamingContext | context | The destination for this serialization. |
IXmlSerializable.GetSchema()
Since 1.2.x
Availability net35-Client, PCL
Declaration
XmlSchema IXmlSerializable.GetSchema()
Returns
Type | Description |
---|---|
XmlSchema |
IXmlSerializable.ReadXml(XmlReader)
Since 1.2.x
Availability net35-Client, PCL
Declaration
void IXmlSerializable.ReadXml(XmlReader reader)
Parameters
Type | Name | Description |
---|---|---|
XmlReader | reader |
IXmlSerializable.WriteXml(XmlWriter)
Since 1.2.x
Availability net35-Client, PCL
Declaration
void IXmlSerializable.WriteXml(XmlWriter writer)
Parameters
Type | Name | Description |
---|---|---|
XmlWriter | writer |
Implements
System.IEquatable<T>
System.IComparable<T>
System.IFormattable
System.IComparable
System.Xml.Serialization.IXmlSerializable
System.Runtime.Serialization.ISerializable