Usar la hora de un lugar específico y no la del servidor

Cuando grabamos fechas y horas en nuestra base de datos por lo gral. se usa la hora del servidor ya que normalmente usamos la instrucción Now() en la forma DateTime.Now() o DateTime.Today(). Pero si estamos en algún lugar del mundo en donde la hora del server no es la misma que la hora local, vamos a obtener fechas y horas que no corresponden con el lugar desde donde operamos la base de datos.

La solución que le di a este problemilla es usar la instrucción:

DateTime.UtcNow

Y como es que encontramos la hora y fecha exacta del lugar en el que estamos?

DateTime FechaHoraActual = DateTime.UtcNow.AddHours(-5);

Con esta instrucción creamos un objeto de nombre FechaHoraActual en el que hemos puesto la fecha y hora de nuestra zona horaria. En mi caso -5 Representa la zona horaria en la que me encuentro, para que encuentres tu zona horaria entonces solo debes buscar en el sistema GMT Greenwich Mean Time, hora del meridiano de Greenwich que es equivalente con la zona horaria UTC tiempo universal coordinado. Hay cientos de páginas en los que puedes averiguar tu zona horaria con exactitud.

En resumen la instrucción lo que hace es colocar el reloj en la hora cero del sistema UTC y luego restarle o sumarle las horas necesarias de acuerdo a la zona horaria que quieras.

Luego de ello puedes usar cualquier instrucción o estructura como TimeSpan que te sirven para calcular o comparar fechas y horas.

Si te sirvió compártelo y déjame tus comentarios, de hecho hay mucho más para saber sobre el tema.

También te puede interesar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada.