Compartir a través de


TimeZoneInfo.ConvertTimeFromUtc(DateTime, TimeZoneInfo) Método

Definición

Convierte una hora universal coordinada (UTC) en la hora de una zona horaria especificada.

public:
 static DateTime ConvertTimeFromUtc(DateTime dateTime, TimeZoneInfo ^ destinationTimeZone);
public static DateTime ConvertTimeFromUtc (DateTime dateTime, TimeZoneInfo destinationTimeZone);
static member ConvertTimeFromUtc : DateTime * TimeZoneInfo -> DateTime
Public Shared Function ConvertTimeFromUtc (dateTime As DateTime, destinationTimeZone As TimeZoneInfo) As DateTime

Parámetros

dateTime
DateTime

Hora universal coordinada (UTC).

destinationTimeZone
TimeZoneInfo

Zona horaria a la que se va a convertir dateTime.

Devoluciones

Fecha y hora de la zona horaria de destino. Su propiedad Kind es Utc si destinationTimeZone es Utc; en caso contrario, su propiedad Kind es Unspecified.

Excepciones

La propiedad Kind de dateTime es Local.

destinationTimeZone es null.

Ejemplos

En el ejemplo siguiente se convierte la hora universal coordinada (UTC) en la hora central.

DateTime timeUtc = DateTime.UtcNow;
try
{
   TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
   DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone);
   Console.WriteLine("The date and time are {0} {1}.", 
                     cstTime, 
                     cstZone.IsDaylightSavingTime(cstTime) ?
                             cstZone.DaylightName : cstZone.StandardName);
}
catch (TimeZoneNotFoundException)
{
   Console.WriteLine("The registry does not define the Central Standard Time zone.");
}                           
catch (InvalidTimeZoneException)
{
   Console.WriteLine("Registry data on the Central Standard Time zone has been corrupted.");
}
let timeUtc = DateTime.UtcNow
try
    let cstZone = TimeZoneInfo.FindSystemTimeZoneById "Central Standard Time"
    let cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone)
    printfn $"The date and time are {cstTime} {if cstZone.IsDaylightSavingTime cstTime then cstZone.DaylightName else cstZone.StandardName}."
with
| :? TimeZoneNotFoundException ->
    printfn "The registry does not define the Central Standard Time zone."
| :? InvalidTimeZoneException ->
    printfn "Registry data on the Central Standard Time zone has been corrupted."
Dim timeUtc As Date = Date.UtcNow
Try
   Dim cstZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time")
   Dim cstTime As Date = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone)
   Console.WriteLine("The date and time are {0} {1}.", _
                     cstTime, _
                     IIf(cstZone.IsDaylightSavingTime(cstTime), _
                         cstZone.DaylightName, cstZone.StandardName))
Catch e As TimeZoneNotFoundException
   Console.WriteLine("The registry does not define the Central Standard Time zone.")
Catch e As InvalidTimeZoneException
   Console.WriteLine("Registry data on the Central Standard Time zone has been corrupted.")
End Try

Comentarios

Al realizar la conversión, el ConvertTimeFromUtc método aplica las reglas de ajuste en vigor en la destinationTimeZone zona horaria.

El comportamiento preciso de este método depende del valor de la Kind propiedad del dateTime parámetro, como se muestra en la tabla siguiente.

Propiedad DateTime.Kind Conversión
DateTimeKind.Local Produce un ArgumentExceptionobjeto .
DateTimeKind.Unspecified o DateTimeKind.Utc Convierte de la hora universal coordinada (UTC).

Si la conversión de da como resultado un valor de dateTime fecha y hora anterior o posterior a DateTime.MaxValueDateTime.MinValue , este método devuelve DateTime.MinValue o DateTime.MaxValue, respectivamente.

Se aplica a

Consulte también