DateTimeOffset.Implicit(DateTime to DateTimeOffset) DateTimeOffset.Implicit(DateTime to DateTimeOffset) DateTimeOffset.Implicit(DateTime to DateTimeOffset) Operator

Definition

Defines an implicit conversion of a DateTime object to a DateTimeOffset object.

public:
 static operator DateTimeOffset(DateTime dateTime);
public static implicit operator DateTimeOffset (DateTime dateTime);
static member op_Implicit : DateTime -> DateTimeOffset

Parameters

dateTime
DateTime DateTime DateTime

The object to convert.

Returns

Exceptions

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:

DateTimeOffset timeWithOffset; 
timeWithOffset = new DateTime(2008, 7, 3, 18, 45, 0);
Console.WriteLine(timeWithOffset.ToString());

timeWithOffset = DateTime.UtcNow;
Console.WriteLine(timeWithOffset.ToString());

timeWithOffset = DateTime.SpecifyKind(DateTime.Now, 
                                      DateTimeKind.Unspecified);
Console.WriteLine(timeWithOffset.ToString());

timeWithOffset = new DateTime(2008, 7, 1, 2, 30, 0) +
                       new TimeSpan(1, 0, 0, 0);
Console.WriteLine(timeWithOffset.ToString());
 
timeWithOffset = new DateTime(2008, 1, 1, 2, 30, 0)
Console.WriteLine(timeWithOffset.ToString());
// 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
//       7/2/2008 2:30:00 AM -07:00
//       1/1/2008 2:30:00 AM -08:00
//
// The last example shows automatic adaption to the U.S. Pacific Time 
// for winter dates.
Dim timeWithOffset As DateTimeOffset 
timeWithOffset = #07/03/2008 6:45PM#
Console.WriteLine(timeWithOffset.ToString())

timeWithOffset = Date.UtcNow
Console.WriteLine(timeWithOffset.ToString())

timeWithOffset = Date.SpecifyKind(Date.Now, DateTimeKind.Unspecified)
Console.WriteLine(timeWithOffset.ToString())

timeWithOffset = #07/01/2008 2:30AM# + New TimeSpan(1, 0, 0, 0)
Console.WriteLine(timeWithOffset.ToString())
  
timeWithOffset = #01/01/2008 2:30AM#
Console.WriteLine(timeWithOffset.ToString())
' 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
'       7/2/2008 2:30:00 AM -07:00
'       1/1/2008 2:30:00 AM -08:00
'
' The last example shows automatic adaption to the U.S. Pacific Time
' for winter dates.

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:

The equivalent method for this operator is DateTimeOffset.DateTimeOffset(DateTime)

Applies to