I\'ve been trying to find a sensible way of storing daily data using Core Data on the iPhone.
My app receives data in csv format, with a date but no time:
The NSDate object will always incorporate time date - to quote the docs it "represent[s] a single point in time" and does so by storing a time value since its reference date (the start of 1 January 2001 at GMT, again according to the docs). Therefore you cannot have an NSDate that is unaware of time of day.
Rather than try and store dates your own way, I would still use NSDate in your model and consider adding a pair of methods to your entity class, one of which will do what you described above, setting the NSDate to 00:00:00 on a given day. The other could return just the date from an NSDate in your preferred format. These would then use the Core Data-generated getter and setter to access the NSDate property.
By still using NSDate you are using a class that Core Data can work with natively, meaning you can still use predicates easily for filtering, or sort your fetched results by date without having to think too hard about it.