4

少し問題があります。Instragm から回答を得ると、次の日付形式が表示されます。

            "created_time" = 1361964707;

これはどういう意味ですか?? 特に、これを NSdataFormatter でフォーマットするにはどうすればよいですか?

このような日付をフォーマットする方法を探しています。

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

ありがとう

4

2 に答える 2

5

これは UNIX タイムスタンプです ( http://en.wikipedia.org/wiki/Unix_time )。

それが完了したら、それを NSDate に変換すると、NSDateFormatter を[NSDate dateWithTimeIntervalSince1970:]; 使用できます。

于 2013-10-16T20:58:40.700 に答える
4

コンピュータは通常、任意の時点 (「エポック日付」) からの秒数として日付を計算します。浮動小数点数を使用すると、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 年の日付であることを考えると、それは正しいと思います。

于 2013-10-16T21:04:58.793 に答える