Noda Time
Show / Hide Table of Contents

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
Inherited Members
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetType()
Namespace: NodaTime
Assembly: NodaTime.dll
Syntax
public struct Offset : IEquatable<Offset>, IComparable<Offset>, IFormattable, IComparable
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:
ValueMeaning
< 0This object is less than the other parameter.
0This object is equal to other.
> 0This object is greater than other.

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 A System.String that represents this instance.
Overrides
System.ValueType.ToString()

ToString(String, IFormatProvider)

Formats the value of the current instance using the specified format.
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 pattern defined for the type of the System.IFormattable implementation.
IFormatProvider formatProvider The System.IFormatProvider to use to format the value. -or- null to obtain the numeric format information from the current locale setting of the operating system.
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.

Implements

System.IEquatable<T>
System.IComparable<T>
System.IFormattable
System.IComparable
In this article
Back to top Generated by DocFX