32

How can I convert an NSDate to a Unix timestamp in Objective-C?

Jonathan Leffler
  • 730,956
  • 141
  • 904
  • 1,278
sandy
  • 2,127
  • 4
  • 28
  • 50

3 Answers3

60

I believe - [NSDate timeIntervalSince1970] is what you want. Jan 1, 1970 is the date of the Unix epoch.

Brian
  • 15,599
  • 4
  • 46
  • 63
50
NSDate *date = [NSDate date];
NSTimeInterval ti = [date timeIntervalSince1970];

NSTimeInterval is typedefed as a double, defined in seconds. If you want it in integer form, just cast the result to a long and use that instead, but this gives more precision.

Ed Marty
  • 39,590
  • 19
  • 103
  • 156
10

I like properties.

NSDate.date.timeIntervalSince1970;
Alex
  • 1,689
  • 18
  • 27