DateTimeOffset Implicit Conversion (DateTime to DateTimeOffset)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Defines an implicit conversion of a DateTime object to a DateTimeOffset object.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Shared Widening Operator CType ( _
dateTime As DateTime _
) As DateTimeOffset
public static implicit operator DateTimeOffset (
DateTime dateTime
)
Parameters
- dateTime
Type: System.DateTime
The object to convert.
Return Value
Type: System.DateTimeOffset
The converted object.
Exceptions
Exception | Condition |
---|---|
ArgumentOutOfRangeException | The Coordinated Universal Time (UTC) date and time that results from applying the offset is earlier than MinValue. -or- The UTC date and time that results from applying the offset is later than MaxValue. |
Remarks
The Implicit method enables the compiler to automatically convert a DateTime object to a DateTimeOffset object without an explicit casting operator (in C#) or a call to a conversion function (in Visual Basic). It defines a widening conversion that does not involve data loss and does not throw an OverflowException. The Implicit method makes code such as the following possible:
Dim timeWithOffset As DateTimeOffset
timeWithOffset = #7/3/2008 6:45:00 PM#
outputBlock.Text &= timeWithOffset.ToString() & vbCrLf
timeWithOffset = Date.UtcNow
outputBlock.Text &= timeWithOffset.ToString() & vbCrLf
timeWithOffset = Date.SpecifyKind(Date.Now, DateTimeKind.Unspecified)
outputBlock.Text &= timeWithOffset.ToString() & vbCrLf
timeWithOffset = #1/1/2008 2:30:00 AM# + New TimeSpan(1, 0, 0, 0)
outputBlock.Text &= timeWithOffset.ToString() & vbCrLf
' The example produces the following output if run on 3/20/2007
' at 6:25 PM on a computer in the U.S. Pacific Daylight Time zone:
' 7/3/2008 6:45:00 PM -07:00
' 3/21/2007 1:25:52 AM +00:00
' 3/20/2007 6:25:52 PM -07:00
' 1/2/2008 2:30:00 AM -08:00
DateTimeOffset timeWithOffset;
timeWithOffset = new DateTime(1008, 7, 3, 18, 45, 0);
outputBlock.Text += timeWithOffset.ToString() + "\n";
timeWithOffset = DateTime.UtcNow;
outputBlock.Text += timeWithOffset.ToString() + "\n";
timeWithOffset = DateTime.SpecifyKind(DateTime.Now,
DateTimeKind.Unspecified);
outputBlock.Text += timeWithOffset.ToString() + "\n";
timeWithOffset = new DateTime(2008, 1, 1, 2, 30, 0) +
new TimeSpan(1, 0, 0, 0);
outputBlock.Text += timeWithOffset.ToString() + "\n";
// The example produces the following output if run on 3/20/2007
// at 6:25 PM on a computer in the U.S. Pacific Daylight Time zone:
// 7/3/2008 6:45:00 PM -07:00
// 3/21/2007 1:25:52 AM +00:00
// 3/20/2007 6:25:52 PM -07:00
// 1/2/2008 2:30:00 AM -08:00
This method is equivalent to the DateTimeOffset constructor. The offset of the resulting DateTimeOffset object depends on the value of the DateTime.Kind property of the dateTime parameter:
If the value of the DateTime.Kind property is DateTimeKind.Utc, the date and time of the DateTimeOffset object is set equal to dateTime, and its Offset property is set equal to 0.
If the value of the DateTime.Kind property is DateTimeKind.Local or DateTimeKind.Unspecified, the date and time of the DateTimeOffset object is set equal to dateTime, and its Offset property is set equal to the offset of the local system's current time zone.
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.