TimeZoneInfo.ConvertTimeBySystemTimeZoneId 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 en la hora de otra zona horaria basándose en un identificador de zona horaria.
Sobrecargas
ConvertTimeBySystemTimeZoneId(DateTime, String) |
Convierte una hora en la hora de otra zona horaria basándose en el identificador de zona horaria. |
ConvertTimeBySystemTimeZoneId(DateTimeOffset, String) |
Convierte una hora en la hora de otra zona horaria basándose en el identificador de zona horaria. |
ConvertTimeBySystemTimeZoneId(DateTime, String, String) |
Convierte una hora de una zona horaria en otra basándose en los identificadores de zona horaria. |
ConvertTimeBySystemTimeZoneId(DateTime, String)
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
Convierte una hora en la hora de otra zona horaria basándose en el identificador de zona horaria.
public:
static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string -> DateTime
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, destinationTimeZoneId As String) As DateTime
Parámetros
- dateTime
- DateTime
Fecha y hora que se van a convertir.
- destinationTimeZoneId
- String
Identificador de la zona horaria de destino.
Devoluciones
Fecha y hora de la zona horaria de destino.
Excepciones
destinationTimeZoneId
es null
.
Se encontró el identificador de zona horaria, pero los datos del Registro están dañados.
El proceso no tiene los permisos necesarios para leer la clave del registro que contiene la información de zona horaria.
No se encontró el identificador destinationTimeZoneId
en el sistema local.
Comentarios
Al realizar la conversión, el ConvertTimeBySystemTimeZoneId método aplica las reglas de ajuste en vigor en la destinationTimeZoneId
zona horaria.
Esta sobrecarga es en gran medida idéntica a la llamada al ConvertTime(DateTime, TimeZoneInfo) método , salvo que permite especificar la zona horaria de destino por su identificador en lugar de por una referencia de objeto. Este método es más útil cuando debe convertir una hora sin recuperar el objeto de zona horaria que corresponde a él y no es necesario saber si la hora convertida es estándar o el horario de verano.
El ConvertTimeBySystemTimeZoneId(DateTime, String) método determina la zona horaria de origen del valor de la dateTime
propiedad del Kind parámetro, como se muestra en la tabla siguiente.
Valor de la propiedad Kind | Zona horaria de origen | Comportamiento de método |
---|---|---|
DateTimeKind.Local | Local | Convierte la hora local en la hora de destinationTimeZone . |
DateTimeKind.Utc | Utc | Convierte la hora universal coordinada (UTC) en la hora de destinationTimeZone . |
DateTimeKind.Unspecified | Se supone que es Local. | Convierte la hora local en la hora de destinationTimeZone . |
La Kind propiedad del valor devuelto DateTime se establece como se muestra en la tabla siguiente.
Condición | Valor de propiedad Kind devuelto |
---|---|
El valor de destinationTimeZone es TimeZoneInfo.Utc.Id . |
DateTimeKind.Utc |
Cualquier otro destinationTimeZone valor. |
DateTimeKind.Unspecified |
Si el valor del dateTime
parámetro es una hora local ambigua, se interpreta como una hora estándar. Si el dateTime
parámetro es una hora local no válida, este método produce una ArgumentExceptionexcepción .
Si la conversión de da como resultado un valor de dateTime
fecha y hora anterior DateTime.MinValue o posterior a DateTime.MaxValue, este método devuelve DateTime.MinValue o DateTime.MaxValue, respectivamente.
Este método recupera información sobre la zona horaria cuyo identificador especifica el destinationTimeZoneId
parámetro del registro en sistemas Windows y desde la biblioteca de ICU en Linux y macOS. No se puede recuperar un objeto de zona horaria que se crea mediante el CreateCustomTimeZone método . El destinationTimeZoneId
parámetro debe corresponder exactamente al identificador de la zona horaria, pero no en caso de que se produzca una coincidencia correcta; es decir, la comparación de con los identificadores de destinationTimeZoneId
zona horaria no distingue mayúsculas de minúsculas.
Consulte también
Se aplica a
ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
Convierte una hora en la hora de otra zona horaria basándose en el identificador de zona horaria.
public:
static DateTimeOffset ConvertTimeBySystemTimeZoneId(DateTimeOffset dateTimeOffset, System::String ^ destinationTimeZoneId);
public static DateTimeOffset ConvertTimeBySystemTimeZoneId (DateTimeOffset dateTimeOffset, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTimeOffset * string -> DateTimeOffset
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTimeOffset As DateTimeOffset, destinationTimeZoneId As String) As DateTimeOffset
Parámetros
- dateTimeOffset
- DateTimeOffset
Fecha y hora que se van a convertir.
- destinationTimeZoneId
- String
Identificador de la zona horaria de destino.
Devoluciones
Fecha y hora de la zona horaria de destino.
Excepciones
destinationTimeZoneId
es null
.
Se encontró el identificador de zona horaria, pero los datos del registro está dañados.
El proceso no tiene los permisos necesarios para leer la clave del registro que contiene la información de zona horaria.
No se encontró el identificador destinationTimeZoneId
en el sistema local.
Comentarios
Al realizar la conversión, el ConvertTimeBySystemTimeZoneId método aplica las reglas de ajuste en vigor en la destinationTimeZoneId
zona horaria.
Esta sobrecarga es idéntica a llamar al ConvertTime(DateTimeOffset, TimeZoneInfo) método , salvo que permite especificar la zona horaria de destino por su identificador en lugar de por una referencia de objeto. Este método es más útil cuando debe convertir una hora sin recuperar el objeto de zona horaria que corresponde a él y no es necesario saber si la hora convertida es estándar o el horario de verano.
Dado que el dateTimeOffset
parámetro representa una fecha y hora junto con el desplazamiento de esa hora de la hora universal coordinada (UTC), no puede representar una hora ambigua o una hora no válida.
Este método recupera la zona horaria cuyo identificador especifica el destinationTimeZoneId
parámetro del registro en sistemas Windows y desde la biblioteca de ICU en Linux y macOS. No se puede recuperar un objeto de zona horaria que se crea mediante el CreateCustomTimeZone método . El destinationTimeZoneId
parámetro debe corresponder exactamente al identificador de la zona horaria, pero no en caso de que se produzca una coincidencia correcta; es decir, la comparación de con los identificadores de destinationTimeZoneId
zona horaria no distingue mayúsculas de minúsculas.
Al convertir el dateTimeOffset
valor en la hora de la zona horaria de destino, el método tiene en cuenta las reglas de ajuste en vigor en la zona horaria de destino.
Si la conversión de da como resultado un valor de dateTimeOffset
fecha y hora anterior DateTimeOffset.MinValue o posterior a DateTimeOffset.MaxValue, este método devuelve DateTimeOffset.MinValue o DateTimeOffset.MaxValue, respectivamente.
Consulte también
Se aplica a
ConvertTimeBySystemTimeZoneId(DateTime, String, String)
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
Convierte una hora de una zona horaria en otra basándose en los identificadores de zona horaria.
public:
static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ sourceTimeZoneId, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string sourceTimeZoneId, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string * string -> DateTime
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, sourceTimeZoneId As String, destinationTimeZoneId As String) As DateTime
Parámetros
- dateTime
- DateTime
Fecha y hora que se van a convertir.
- sourceTimeZoneId
- String
Identificador de la zona horaria de origen.
- destinationTimeZoneId
- String
Identificador de la zona horaria de destino.
Devoluciones
Fecha y hora de la zona horaria de destino que se corresponde con el parámetro dateTime
de la zona horaria de origen.
Excepciones
La propiedad Kind del parámetro dateTime
no se corresponde con la zona horaria de origen.
o bien
dateTime
es una hora no válida en la zona horaria de origen.
Se encontraron identificadores de zona horaria, pero los datos del Registro están dañados.
El usuario no tiene los permisos necesarios para leer desde las claves del Registro que contienen datos de zona horaria.
No se encontró el identificador sourceTimeZoneId
en el sistema local.
o bien
No se encontró el identificador destinationTimeZoneId
en el sistema local.
Ejemplos
En el ejemplo siguiente se usa el TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) método para mostrar la hora que corresponde a la hora del sistema local en ocho ciudades del mundo.
DateTime currentTime = DateTime.Now;
Console.WriteLine("Current Times:");
Console.WriteLine();
Console.WriteLine("Los Angeles: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"));
Console.WriteLine("Chicago: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"));
Console.WriteLine("New York: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"));
Console.WriteLine("London: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"));
Console.WriteLine("Moscow: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"));
Console.WriteLine("New Delhi: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"));
Console.WriteLine("Beijing: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"));
Console.WriteLine("Tokyo: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"));
let currentTime = DateTime.Now
printfn "Current Times:\n"
printfn $"""Los Angeles: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time")}"""
printfn $"""Chicago: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time")}"""
printfn $"""New York: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time")}"""
printfn $"""London: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time")}"""
printfn $"""Moscow: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time")}"""
printfn $"""New Delhi: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time")}"""
printfn $"""Beijing: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time")}"""
printfn $"""Tokyo: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time")}"""
Dim currentTime As Date = Date.Now
Console.WriteLine("Current Times:")
Console.WriteLine()
Console.WriteLine("Los Angeles: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"))
Console.WriteLine("Chicago: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"))
Console.WriteLine("New York: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"))
Console.WriteLine("London: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"))
Console.WriteLine("Moscow: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"))
Console.WriteLine("New Delhi: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"))
Console.WriteLine("Beijing: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"))
Console.WriteLine("Tokyo: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"))
Comentarios
Al realizar la conversión, el ConvertTimeBySystemTimeZoneId método aplica las reglas de ajuste en vigor en la destinationTimeZoneId
zona horaria.
Aunque es similar al TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) método , puede usar TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) para especificar las zonas horarias de origen y de destino mediante sus identificadores en lugar de sus TimeZoneInfo objetos. Este método es más útil cuando debe convertir una hora sin recuperar el objeto de zona horaria que corresponde a él y no es necesario saber si la hora convertida es estándar o el horario de verano.
Este método recupera las zonas horarias cuyos identificadores son los sourceTimeZoneId
parámetros y destinationTimeZoneId
del registro en sistemas Windows y de la biblioteca de ICU en Linux y macOS. No puede recuperar objetos de zona horaria creados mediante el CreateCustomTimeZone método .
El valor de la Kind propiedad del dateTime
parámetro debe corresponder al sourceTimeZoneId
parámetro , como se muestra en la tabla siguiente.
Valor DateTime.Kind | valor sourceTimeZone | Comportamiento de método |
---|---|---|
DateTimeKind.Utc | Es igual a TimeZoneInfo.Utc.Id . |
dateTime Convierte en la hora de la zona horaria de destino. |
DateTimeKind.Utc | Does not equal TimeZoneInfo.Utc.Id . |
Produce una ArgumentExceptionexcepción . |
DateTimeKind.Local | Es igual a TimeZoneInfo.Local.Id . |
dateTime Convierte en la hora de la zona horaria de destino. |
DateTimeKind.Local | Does not equal TimeZoneInfo.Local.Id . |
Produce una ArgumentExceptionexcepción . |
DateTimeKind.Unspecified | Cualquiera. |
dateTime Convierte en la hora de la zona horaria de destino. |
Dado que se basa en las llamadas al FindSystemTimeZoneById método , el ConvertTimeBySystemTimeZoneId método realiza una búsqueda sin distinción entre mayúsculas y minúsculas para buscar las zonas horarias que corresponden a sourceTimeZoneId
y destinationTimeZoneId
.
Si el valor del dateTime
parámetro es una hora ambigua en la zona horaria de origen, se interpreta como una hora estándar. Si el dateTime
parámetro es una hora no válida en la zona horaria de origen, este método produce una ArgumentExceptionexcepción .
La Kind propiedad del valor devuelto DateTime se establece en a DateTimeKind.Unspecified menos que la zona horaria de destino sea hora universal coordinada (UTC), en cuyo caso se establece DateTimeKind.Utcen .