32

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

Jonathan Leffler
  • 698,132
  • 130
  • 858
  • 1,229
sandy
  • 2,127
  • 4
  • 28
  • 49

3 Answers3

60

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

Brian
  • 15,540
  • 4
  • 45
  • 62
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,352
  • 19
  • 98
  • 155
10

I like properties.

NSDate.date.timeIntervalSince1970;
Alex
  • 1,594
  • 16
  • 26