TimeZoneInfo.ConvertTimeFromUtc(DateTime, TimeZoneInfo) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.