Re: NSDate without time portion
Re: NSDate without time portion
- Subject: Re: NSDate without time portion
- From: Robert Claeson <email@hidden>
- Date: Tue, 5 Jan 2010 19:34:49 +0000
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 (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