iphone - the - Timezone/DST Agnostic timestamps con NSDate
timezone list (1)
Estoy creando objetos que se enviarán a un servidor, y estoy tratando de asegurar que tenga en cuenta la zona horaria y los problemas de horario de verano, por lo que quiero que mis marcas de tiempo sean "segundos desde 1970" independientemente de la zona horaria, etc.
¿Es [NSDate timeintervalSinceReferenceDate]
para esto? En los documentos que conozco, dice que es hora January 1 1970 00:00:00 GMT
, que es lo que quiero, pero ¿cómo maneja NSDate las zonas horarias? Si un usuario envía un objeto con su dispositivo configurado a EST y luego cambia su dispositivo a PST, ¿qué tipo de implicaciones tendrá esto en las marcas de tiempo? Mi objetivo es que esto no haga ninguna diferencia, y no puedo obtenerlo de la documentación.
La programación de fechas es un problema difícil y quiero asegurarme de que lo haga bien.
La documentación dice timeIntervalSinceReferenceDate
da la hora desde 2001. timeIntervalSince1970
devuelve el tiempo desde 1970.
Pero de cualquier manera, NSDate
describe un punto en el tiempo. La zona horaria del usuario solo afecta la forma en que se muestra la fecha al usuario (por ejemplo, mediante NSDateFormatter). Entonces no tienes que preocuparte por las zonas horarias.
Pero tal vez tengas que preocuparte de que el reloj del usuario esté equivocado. El usuario puede configurar su reloj para lo que quiera, por lo que no debe confiar en él para nada de importancia crítica. Use el reloj del servidor en su lugar.