On 5 Jan 2010, at 19:23, Chris Ridd wrote:

> 
> On 4 Jan 2010, at 13:50, Quincey Morris wrote:
> 
>> On Jan 4, 2010, at 02:26, Brian Bruinewoud wrote:
>> 
>>> What's the best way to get an NSDate object for 'today' such that the time 
>>> is 00:00:00 (or any other constant).
>>> I not interested in the time, I only care about the year-month-day, but I 
>>> do need the the hours-minutes-seconds to be the same on all dates so that I 
>>> can compare the dates.
>>> 
>>> Currently I do this:
>>> 
>>>  NSDateFormatter *dateFmter = [[NSDateFormatter alloc] init];
>>>  [dateFmter setTimeStyle:NSDateFormatterNoStyle];
>>>  [dateFmter setDateStyle:NSDateFormatterMediumStyle];
>>> 
>>>  NSString dateText = [ dateFmter stringFromDate: self.now ]; // !! !! I 
>>> need dateText anyway
>>> 
>>>  self.now = [ dateFmter dateFromString: dateText ]; // !! truncate time to 
>>> 00:00:00
>>> 
>>> But this seems ugly, cumbersome and inefficient.
>>> 
>>> The other option might be to use NSDate, NSCalendar and NSDateComponents, 
>>> but that seems to be even more ugly and cumbersome and probably more 
>>> inefficient.
>> 
>> NSDate is *not* a good choice for these sorts of comparisons, because it's 
>> always a date and a time, and it's not as simple as it seems. Consider this 
>> (unlikely) example:
> 
> However Core Data models "dates" using NSDate. If you needed to model dates 
> without times in Core Data (and be able to sort/filter on them) what would 
> you do?

By formatting the dates as YYYYMMDD and keeping them in strings you can use 
simple string comparison to sort, compare and filter. They are also very easy 
to format for display purposes. If you want to go standard then use the ISO 
8601 date format. It's YYYY-MM-DD. See 
http://www.iso.org/iso/date_and_time_format

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to