Skip to content

359north/nsdate-limits

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Limits on NSDate and friends

Instances of NSDate are simple wrappers around a double precision floating point value that represents the number of seconds before or after the reference date -- the first instant of 1 January 2001, GMT.

NSDate has a lot of friends: including NSCalendar, NSDateComponents, NSDateFormatter, NSLocale and NSTimeZone. (The corresponding Core Foundation entities are CFDate, CFCalendar, CFDateFormatter, CFLocale and CFTimeZone)

For most practical purposes, instances of these classes behave nicely. (roughly a range of 289,000 years around 2001)

Beyond this range of dates, however, some unexpected behaviors appear.

This project builds a universal iOS app that illustrates these behaviors of NSDate and its friends under stress. Apple may elect to fix some of these behaviors in the future.

In the course of closely examining NSDate and friends, we also took a look at historical handling of pre-1970 time zones by NSTimeZone, NSNumberFormatter, and the handling of NSDate objects within the Parse.com backend-as-a-service.

For a detailed discussion of NSDate and its friends, see our blog post at 359north.com

About

Limits to NSDate and friends

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published