Pertanyaan Cara memformat tanggal Instagram di Objective-C


Saya memiliki sedikit masalah, ketika saya mendapatkan jawaban dari Instragm, saya mendapatkan format tanggal ini:

            "created_time" = 1361964707;

apa artinya ini ?? dan khususnya bagaimana saya memformat ini dengan NSdataFormatter?

Saya mencari cara untuk memformat tanggal seperti ini.

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

Terima kasih


4
2017-10-16 20:56


asal


Jawaban:


Komputer biasanya menghitung tanggal sebagai jumlah detik sejak beberapa titik sembarang waktu ("tanggal hari".) Anda dapat menggunakan angka titik mengambang untuk akurasi sub-detik.

Tanggal EOS UNIX adalah tengah malam, Januari 1970 di UTC. (Waktu rata-rata AKA Greenwich.)

Tanggal hari untuk Mac OS dan iOS adalah tengah malam pada Jan pertama, 2001.

Tanggal Epoch Unix adalah standar yang cukup umum untuk pertukaran tanggal di internet. Taruhan saya adalah tanggal Unix Epoch.

NSDate memiliki metode untuk mengkonversi antara tanggal "jumlah detik" dan objek 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

Jadi, Anda harus dapat mengambil tanggal tersebut dan menggunakan waktuIntervalSince1970 untuk mengonversinya menjadi NSDate. Ingatlah bahwa tanggal yang Anda dapatkan akan tiba di Greenwich, dan Anda perlu mengubahnya ke zona waktu lokal Anda.

Kode ini akan menampilkan tanggal tersebut sebagai NSDate di UTC:

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

Saya mendapatkan hasil

Tanggal = 2013-02-27 11:31:47 +0000

Mengingat bahwa itu adalah tanggal pada tahun 2013, saya bertaruh itu benar.


4
2017-10-16 21:04



Ini cap waktu unix (http://en.wikipedia.org/wiki/Unix_time).

Anda mengubahnya menjadi NSDate dengan [NSDate dateWithTimeIntervalSince1970:];  setelah selesai, Anda dapat menggunakan NSDateFormatter di atasnya.


5
2017-10-16 20:58