Conseguir saber la fecha del ultimo domingo de marzo a partir de una fecha
Hola Isaias,
Gracias por contestar tan rápido. Aun no he probado lo que me has mandado, en cuanto lo pruebe te digo algo.
Te explico la idea de lo que quiero conseguir.
Yo leo una serie de registros en los que hay una serie de datos entre ellos varias fechas que están en Unix Timestamp (1456185459 ), el problema viene en que esas fechas son en UTC Date creo que se llama hora universal (no soy muy experto en este tema).
Lo que necesito es convertir esa fecha en formato Unix Tiemstamp a formato fecha legible (23-02-2016 00:57:39), pero teniendo en cuenta los horarios de verano,
Mi idea es , si los horarios cambian el ultimo domingo de marzo a las 02:00:00 al horario de verano y el ultimo domingo de octubre a las 03:00:00 en horario de invierno, al coger cada una de las fechas del registro pasarla por una función que compruebe si dicha fecha esta dentro del rango de fechas que están en el horario de invierno o por el contrario en el de verano del año de esa fecha. Si esta dentro del horario de verano + 3600'' si esta dentro del horario de invierno + 1800''.
Ya se que una cosa es pensarlo y otra hacerlo, pero esa es la idea para que comprendas la relación entre la fecha del 14 de mayo (que es una de ejemplo que cogí) y el ultimo domingo del mes de marzo.
Aquí convierto la fecha y le sumo los 3600'' ya que estamos en horario de verano, pero en el próximo cambio de hora tengo que acordarme de volver a cambiarlo.
Por eso quería una función que me lo hiciera todo automáticamente, dándole el valor inicial que me hiciera la conversión, el cambio de formato y tuviera en cuenta el cambio horario para sumarle una hora o dos según correspondiera..
,CASE call_req.open_date WHEN NULL THEN ' ' ELSE (CONVERT(VARCHAR,DATEADD(s, call_req.open_date + 3600, '1970-01-01'), 105) + ' ' + CONVERT(VARCHAR, DATEADD(s, call_req.open_date + 3600,'1970-01-01'), 108)) END AS [Fecha de apertura]
Y esa es la explicación.
Cualquier ayuda sera bienvenida.
Gracias de nuevo y un saludo.