少し問題があります。Instragm から回答を得ると、次の日付形式が表示されます。
"created_time" = 1361964707;
これはどういう意味ですか?? 特に、これを NSdataFormatter でフォーマットするにはどうすればよいですか?
このような日付をフォーマットする方法を探しています。
"created_time": "Wed Dec 01 17:08:03 +0000 2010"
ありがとう
少し問題があります。Instragm から回答を得ると、次の日付形式が表示されます。
"created_time" = 1361964707;
これはどういう意味ですか?? 特に、これを NSdataFormatter でフォーマットするにはどうすればよいですか?
このような日付をフォーマットする方法を探しています。
"created_time": "Wed Dec 01 17:08:03 +0000 2010"
ありがとう
これは UNIX タイムスタンプです ( http://en.wikipedia.org/wiki/Unix_time )。
それが完了したら、それを NSDate に変換すると、NSDateFormatter を[NSDate dateWithTimeIntervalSince1970:];
使用できます。
コンピュータは通常、任意の時点 (「エポック日付」) からの秒数として日付を計算します。浮動小数点数を使用すると、1 秒未満の精度を得ることができます。
UNIX のエポック日付は、UTC で 1970 年 1 月の午前 0 時です。(別名グリニッジ標準時。)
Mac OS と iOS のエポック デートは、2001 年 1 月 1 日の午前 0 時です。
Unix エポック日付は、インターネット上での日付交換のかなり一般的な標準です。私の賭けは、それが Unix エポックの日付であるということです。
NSDate には、これらの「秒数」の日付と 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
したがって、その日付を取得し、timeIntervalSince1970 を使用して NSDate に変換できるはずです。返される日付はグリニッジ標準時であり、ローカル タイム ゾーンに変換する必要があることに注意してください。
このコードは、その日付を UTC の NSDate として表示します。
NSTimeInterval interval = 1361964707.0;
NSDate *aDate = [NSDate dateWithTimeIntervalSince1970: interval];
NSLog(@"Date = %@", aDate);
私はの結果を得る
日付 = 2013-02-27 11:31:47 +0000
それが 2013 年の日付であることを考えると、それは正しいと思います。