/ / Ako formátovať dátum Instagramu v Objective-C - ios, object-c, nsdateformatter, instagram

Ako formátovať dátum Instagram v Objective-C - ios, objektív-c, nsdateformatter, instagram

Mám malý problém, keď dostanem odpoveď od spoločnosti Instragm, dostanem tento formát dátumu:

            "created_time" = 1361964707;

čo to sakra znamená? a najmä ako to môžem naformátovať pomocou NSdataFormatter?

Hľadám spôsob, ako formátovať takýto dátum.

"created_time": "Wed Dec 01 17:08:03 +0000 2010"

Vďaka

odpovede:

4 pre odpoveď č. 1

Počítače zvyčajne počítajú dátumy ako počet sekúnd od nejakého ľubovoľného bodu v čase („epochálny dátum“.) Na presnosť za sekundu môžete použiť čísla s pohyblivou rádovou čiarkou.

Dátum epochy UNIX je polnoc, január 1970 v UTC. (Stredný čas AKA Greenwich.)

Obdobie pre Mac OS a iOS je prvé polnoci 1. januára 2001.

Dátum epizódy Unix je pomerne bežným štandardom výmeny údajov na internete. Moja stávka je, že ide o dátum Unix.

NSDate má metódy na prevod medzi týmito „počtom sekúnd“ dátumov a objektmi NSDate:

+[NSDate dateWithTimeIntervalSince1970:]      //Unix Epoch to NSDate
+[NSDate dateWithTimeIntervalSinceReferenceDate:] //Mac * iOS Epoch to NSDate

-[NSDate timeIntervalSince1970]  //Unix epoch value for an NSDate
-[NSDate timeIntervalSinceReferenceDate]  //Mac & iOS epoch value for an NSDate

Mali by ste byť schopní vziať tento dátum a použiť hotimeIntervalSince1970 a previesť ho na NSDate. Nezabudnite, že dátum, kedy sa vrátite, bude v strednom časovom limite Greenwich a budete ho musieť previesť do miestneho časového pásma.

Tento kód zobrazí tento dátum ako NSDate v UTC:

  NSTimeInterval interval = 1361964707.0;
NSDate *aDate = [NSDate dateWithTimeIntervalSince1970: interval];
NSLog(@"Date = %@", aDate);

Mám výsledok

Dátum = 2013-02-27 11:31:47 +0000

Vzhľadom na to, že ide o dátum v roku 2013, stavím sa, že je správny.


5 pre odpoveď № 2

Je to unixová časová pečiatka (http://en.wikipedia.org/wiki/Unix_time).

Konvertujete ju na NSDate pomocou [NSDate dateWithTimeIntervalSince1970:]; akonáhle je to hotové, môžete použiť NSDateFormatter na to.