DateTimeOffset Constructor (Int32, Int32, Int32, Int32, Int32, Int32, TimeSpan)


Initializes a new instance of the DateTimeOffset structure using the specified year, month, day, hour, minute, second, and offset.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

Public Sub New (
	year As Integer,
	month As Integer,
	day As Integer,
	hour As Integer,
	minute As Integer,
	second As Integer,
	offset As TimeSpan


Type: System.Int32

The year (1 through 9999).

Type: System.Int32

The month (1 through 12).

Type: System.Int32

The day (1 through the number of days in month).

Type: System.Int32

The hours (0 through 23).

Type: System.Int32

The minutes (0 through 59).

Type: System.Int32

The seconds (0 through 59).

Type: System.TimeSpan

The time's offset from Coordinated Universal Time (UTC).

Exception Condition

offset does not represent whole minutes.


year is less than one or greater than 9999.


month is less than one or greater than 12.


day is less than one or greater than the number of days in month.


hour is less than zero or greater than 23.


minute is less than 0 or greater than 59.


second is less than 0 or greater than 59.


offset is less than -14 hours or greater than 14 hours.


The UtcDateTime property is earlier than DateTimeOffset.MinValue or later than DateTimeOffset.MaxValue.

This constructor interprets year, month, and day as a year, month, and day in the Gregorian calendar. To instantiate a DateTimeOffset value by using the year, month, and day in another calendar, call the DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, TimeSpan) constructor.

The following example instantiates a DateTimeOffset object by using the DateTimeOffset.DateTimeOffset(Int32, Int32, Int32, Int32, Int32, Int32, TimeSpan) constructor overload.

   Dim specificDate As Date = #5/1/2008 6:32AM#
   Dim offsetDate As New DateTimeOffset(specificDate.Year, _
                                        specificDate.Month, _
                                        specificDate.Day, _
                                        specificDate.Hour, _
                                        specificDate.Minute, _
                                        specificDate.Second, _
                                        New TimeSpan(-5, 0, 0))
   Console.WriteLine("Current time: {0}", offsetDate)
   Console.WriteLine("Corresponding UTC time: {0}", offsetDate.UtcDateTime)                                              
' The code produces the following output:
'    Current time: 5/1/2008 6:32:00 AM -05:00
'    Corresponding UTC time: 5/1/2008 11:32:00 AM      

Universal Windows Platform
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top