Zona horaria de cambio de nsdate -- ios campo con timezone campo con nsdate camp Relacionados El problema

NSDate change time zone


4
vote

problema

Español

Estoy escribiendo una aplicación que involucra la zona horaria. Quiero agarrar el tiempo del dispositivo del usuario, le permite llamar a ese dateA , y tengo una fecha de destino que siempre estará en la zona horaria EDT ( if($row) { echo ".$row["itemNum"]."; } else { } 0 ).

Quiero obtener la diferencia entre las 2 fechas y mostrar al usuario, pero en la zona horaria if($row) { echo ".$row["itemNum"]."; } else { } 1111 .

por ejemplo:
El tiempo del dispositivo de usuario es de 07:30 am PDT, y if($row) { echo ".$row["itemNum"]."; } else { } 2 es 11:00 am EDT.
Así que la diferencia de tiempo sería de 30 minutos.

Mi algoritmo es:
1) Obtener tiempo de dispositivo de usuario
2) Convertir a EDT
3) Agarre la diferencia de tiempo entre if($row) { echo ".$row["itemNum"]."; } else { } 3 y if($row) { echo ".$row["itemNum"]."; } else { } 4

Mi problema es, después de obtener el tiempo del dispositivo del usuario if($row) { echo ".$row["itemNum"]."; } else { } 5 y pasar por if($row) { echo ".$row["itemNum"]."; } else { } 6 con TimeZone EDT. El tiempo no cambia.

Editar ::

  if($row) {     echo ".$row["itemNum"]."; } else {  } 7  

¿Cómo es que la confirmación no contiene 10:30 am en EDT? ¿Qué estoy haciendo mal?

Original en ingles

I am writing an app that involves time zone. I want to grab the user's device time, lets call that dateA, and I have a target date that will always be in EDT time zone (dateB).

I want to get the difference between the 2 dates and show the user, but in dateB's time zone.

eg:
user device time is 07:30AM PDT, and dateB is 11:00AM EDT.
So the time difference would be 30 minutes.

My algorithm is:
1) Get user device time
2) convert to EDT
3) grab the time difference between dateA and dateB

My issue is, after I get the user's device time [NSDate date], and go through DateFormatter with timezone EDT. The time does not change.

EDIT::

    NSDate *localDate = [NSDate date]; //this will have 7:30AM PDT     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];     dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";     [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"EDT"]];     NSString *convertedTimeString = [dateFormatter stringFromDate:localDate]; 

How come the convertedTimeString does not contain 10:30AM in EDT? What am I doing wrong?

        
 
 

Lista de respuestas

2
 
vote

A NSDate se almacena en una forma neutral de TimeZone. Depende de la NSDateFormatter para formatear en realidad para una zona horaria dada usando - [nsdateformatter liftimezone:] . Si desea una cadena de NSDate , también hay - [Descripción de NsdateWithCalendarFormat: TimeZone: Locale:] , por lo general es mejor usar un NSDateFormatter en su lugar.

 

A NSDate is stored in a timezone neutral way. It's up to the NSDateFormatter to actually format for a given timezone using -[NSDateFormatter setTimeZone:]. If you want a string from NSDate, there's also -[NSDate descriptionWithCalendarFormat:timeZone:locale:], but it's usually better to use a NSDateFormatter instead.

 
 
   
   

Relacionados problema

3  Despojando el tiempo de un nsdate  ( Stripping the time out of an nsdate ) 
He visto muchas versiones del siguiente código para eliminar el elemento de tiempo de un NSDATE. NSCalendar *cal = [NSCalendar currentCalendar]; NSDate *no...

1  Agregue UBOBOTONES a los puntos de datos en un gráfico de línea, trazando la fecha y la hora en el eje X  ( Add uibuttons to data points in a line graph plotting date and time in x axis ) 
Estoy tratando de trazar algunos datos en un gráfico de línea simple. A continuación se muestra mi clase para almacenar los datos. ¿Cómo trazo mi yValue S...

1  Cómo comprobar la fecha válida () en SWIFT  ( How to check valid date in swift ) 
Cómo verificar si la fecha es válida, antes de realizar una consulta de SQL usando request.predicate = NSPredicate (format: "% @ <= AND myDate% @> = myDate...

40  UidatePicker, configurando las fechas máximas y mínimas basadas en la fecha de hoy  ( Uidatepicker setting maximum and minimum dates based on todays date ) 
Si tengo un UidatePicker, y deseo establecer el rango de fecha mínimo y máximo para tener entre treinta años y treinta años en el futuro, ¿cómo lo configurarí...

0  ¿Cómo cambiar el formato NSDATE al imprimirlo en LLDB de Xcode?  ( How to change nsdate format when printing it in xcodes lldb ) 
Durante algún tiempo, siempre que quiera imprimir NSDATE con X:WindowsSystem322 en el depurador de Xcode en lugar de un formato de DateTime completo como es...

2  NSDATEFORMATT devuelve NIL para @ "DD-MM-YY" en iOS 3.0  ( Nsdateformatter returns nil for dd mm yy in ios 3 0 ) 
Tengo esta parte del código: NSDate *date =nil; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateStyle:NSDateFormatte...

6  Formato de fecha y hora con iPhone SDK?  ( Formatting date and time with iphone sdk ) 
¿Cómo formate la fecha y la hora en el iPhone SDK? Por ejemplo, ¿cómo extraería la fecha de 9/4/2024 12:00:00 AM a NSDATE? ...

59  ¿Cómo obtengo la fecha actual en cacao?  ( How do i get the current date in cocoa ) 
Estoy empezando a desarrollar para el iPhone y, como tal, estoy buscando diferentes tutoriales en línea, así como a probar algunas cosas diferentes. Actualmen...

3  ¿Cómo puedo saber cuándo liberar un objeto NSDATE?  ( How do i know when to release an nsdate object ) 
Do o ambos de estos punteros de fecha requiere una [versión] cuando termine con ellos. ¿Cómo lo sé? No estoy seguro ya que no estoy haciendo explícitamente. ...

2  Cómo convertir un pathonatime.datetime.utttime.utctime () a un OBJ-C NSDATE, y de nuevo?  ( How to convert a python datetime datetime utctime to an obj c nsdate and back ) 
Editar: Básicamente, estoy buscando hacer esto, en la hora de UTC, idealmente a través de ISO-8601: Python: DateTime.DateTime --- & GT; ISO-8601 STRING P...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos