TimeZoneInfo::ConvertTimeToUtc Method (DateTime, TimeZoneInfo^)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Converts the time in a specified time zone to Coordinated Universal Time (UTC).

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

static DateTime ConvertTimeToUtc(
	DateTime dateTime,
	TimeZoneInfo^ sourceTimeZone


Type: System::DateTime

The date and time to convert.

Type: System::TimeZoneInfo^

The time zone of dateTime.

Return Value

Type: System::DateTime

The Coordinated Universal Time (UTC) that corresponds to the dateTime parameter. The DateTime object's Kind property is always set to DateTimeKind::Utc.

Exception Condition

dateTime.Kind is DateTimeKind::Utc and sourceTimeZone does not equal TimeZoneInfo::Utc.


dateTime.Kind is DateTimeKind::Local and sourceTimeZone does not equal TimeZoneInfo::Local.


sourceTimeZone.IsInvalidDateTime(dateTime) returns true.


sourceTimeZone is null.

If the Kind property of the dateTime parameter equals DateTimeKind::Utc and the sourceTimeZone parameter equals TimeZoneInfo::Utc, this method returns dateTime without performing any conversion.

If dateTime corresponds to an ambiguous time, this method assumes that it is the standard time of the source time zone. If dateTime corresponds to an invalid time, this method throws an ArgumentException.

If the Coordinated Universal Time (UTC) equivalent of dateTime is earlier than DateTime::MinValue or later that DateTime::MaxValue, this method returns MinValue or MaxValue, respectively.

Notes to Callers:

On Windows XP systems, the method applies only the current adjustment rule to the time zone conversion if sourceTimeZone is TimeZoneInfo::Local. As a result, the method may not accurately convert times for periods before the current adjustment rule came into effect. For more information, see the Notes for Callers section in the Local property.

The following example retrieves the current date from the local system and converts it to Coordinated Universal Time (UTC), then converts it to Tokyo Standard Time, and finally converts from Tokyo Standard Time back to UTC. Note that the two UTC times are identical.

No code example is currently available or this language may not be supported.

.NET Framework
Available since 3.5
Return to top