• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Finding a relative date
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Finding a relative date


  • Subject: Re: Finding a relative date
  • From: Nick Zitzmann <email@hidden>
  • Date: Mon, 25 Feb 2008 12:57:35 -0700


On Feb 25, 2008, at 12:27 PM, Randall Meadows wrote:

Given a specific NSDate, I need to be able to find, say, the Sunday before that date, or the Saturday after that date. I was hoping to be able to use +dateWithNaturalLanguage with something like "Sunday before [myDate description]", but that just returns myDate.

I know I can brute-force it, by figuring out the myDate's day, then walking backward and/or forward, but is there an easier way? One more tried and true, less error-prone, that's calendar-savvy (not that I'm going to need to go as far back as Oct 1582...)?


You can do this with NSCalendar, doing something like this: (warning, written in Mail, untested, use at your own risk, etc.)

NSCalendar *cal; // initialize this
NSDate *date; // initialize this
NSDate *dateLastSunday;
NSInteger weekday;
NSDateComponents *addComponents = [[[NSDateComponents alloc] init] autorelease];


weekday = [[cal components:NSWeekdayCalendarUnit fromDate:date] weekday];
if (weekday == 1) // Sunday
[addDateComponents setDay:-7];
else // Monday-Saturday
[addDateComponents setDay:(weekday-1)*-1];
dateLastSunday = [cal dateByAddingComponents:addDateComponents toDate:date options:0];


Nick Zitzmann
<http://www.chronosnet.com/>




_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >Finding a relative date (From: Randall Meadows <email@hidden>)

  • Prev by Date: Finding a relative date
  • Next by Date: Resizable Text Cell in NSTableView
  • Previous by thread: Finding a relative date
  • Next by thread: Re: Finding a relative date
  • Index(es):
    • Date
    • Thread