Aus NSString timestamp machen und dann in Datum und Uhrzeit umwandeln

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Aus NSString timestamp machen und dann in Datum und Uhrzeit umwandeln

    Hallo, ich habe nochmals eine kleine Frage und zwar folgendes:

    Ich habe mir einen NSXML-Parser gebaut der eine XMl parst. In dieser XML-Datei ist ein Attribut welches ein Timestamp enthält <startzeit>1390845600 </starzeit>.
    Wenn ich dies nun Parse, wird es ja ein NSString. Meine Frage lautet wie kann ich diesen NSString in ein Timestamp (wie in PHP) umwandeln und diesen Timestamp mächte ich dann wiederum in ein Datum mit Uhrzeit umwandeln so dass am Ende 27.01.14 20:00 herauskommt.

    Hat irgendjemand einen Ahnung wie man das realisieren kann. Bin nun schon 3 Tage am suchen, habe jedoch nichts gefunden.
  • Hallo,

    Beispiel, sieh unten…

    Kannst Dir ja ne Kategorie zu NSDate anlegen und den String in ne Methode werfen.

    Viele Grüße

    Quellcode

    1. // …
    2. NSString *string = @"1390845600";
    3. if([string length] < 1)
    4. {
    5. return;
    6. }
    7. // …
    8. NSTimeInterval timeInterval = [string doubleValue];
    9. if(timeInterval <= 0.0)
    10. {
    11. return;
    12. }
    13. // …
    14. NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeInterval];
    15. if(date == nil)
    16. {
    17. return;
    18. }
    19. // …
    20. NSLog(@"%@", date);
    21. // …
    Alles anzeigen
  • little_pixel schrieb:

    Hallo,

    Beispiel, sieh unten…

    Kannst Dir ja ne Kategorie zu NSDate anlegen und den String in ne Methode werfen.

    Viele Grüße



    Danke für deine Antwort. Ich hatte auch diese nWeg NSString ->NSTimeIntervall. Habe diesen jedoch mit einem Integer initalisiert ,weil ich dachte NSTimeIntervall würde mit Ganzzahlen arbeiten wie in PHP.
    Dieser Weg ist völlig nach zu vollziehen. War auch mein Ansatz und wieder was gelernt. Wenn ich nun dieses NSDate bekomme muss ich es nur noch in unsere Zeitzone umwandeln und fertig.
  • Du kannst im Xcode mit gedrückter alt-Taste auf die Dingens klicken und dann wird die Doku geöffnet.
    Dort ist dann sofort ersichtlich, dass das Teil als double definiert ist.

    Viele Grüße

    Quellcode

    1. -(NSString*)schickSchnackSchnuckFromTeilo:(NSString*)string
    2. {
    3. // …
    4. if([string length] < 1)
    5. {
    6. return nil;
    7. }
    8. // …
    9. NSTimeInterval timeInterval = [string doubleValue];
    10. if(timeInterval <= 0.0)
    11. {
    12. return nil;
    13. }
    14. // …
    15. NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeInterval];
    16. if(date == nil)
    17. {
    18. return nil;
    19. }
    20. // …
    21. NSLocale *locale = [NSLocale systemLocale];
    22. if(locale == nil)
    23. {
    24. return nil;
    25. }
    26. // …
    27. NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    28. if(dateFormatter == nil)
    29. {
    30. return nil;
    31. }
    32. // …
    33. [dateFormatter setLocale:locale];
    34. [dateFormatter setDateFormat:@"yyyy-MM-dd HH-mm-ss-SSS Z"];
    35. // …
    36. string = [dateFormatter stringFromDate:date];
    37. if([string length] < 1)
    38. {
    39. return nil;
    40. }
    41. // …
    42. return string;
    43. // …
    44. }
    Alles anzeigen
  • little_pixel schrieb:

    Du kannst im Xcode mit gedrückter alt-Taste auf die Dingens klicken und dann wird die Doku geöffnet.
    Dort ist dann sofort ersichtlich, dass das Teil als double definiert ist.

    Viele Grüße



    Die letzte Bemerkung mit der Zeitzone war nur so als Hinweis gedacht. Du hättest jetzt nicht den Code mit diesen Zeilen extra schreiben sollen. Aber Danke trotzdem.
    Ja, das mit der alt-Taste ist mir schon klar. Aber ich dachte dauernd es müsste ein int sein. Keine Ahnung wie ich darauf komme. Blöder dummer Fehler :)