NSDate から時間要素を削除する次のコードの多くのバージョンを見てきました。
NSCalendar *cal = [NSCalendar currentCalendar];
NSDate *now = [NSDate date];
unsigned int intFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *components = [cal components:intFlags fromDate:now];
NSDate *today = [cal dateFromComponents:components];
問題は、期待どおりに機能しないことです。私は現在、英国の夏時間 (BST) にいます。このコードを今実行すると、now=@"2012-07-07 19:24:06 +0000"
今日=@"2012-07-06 23:00:00 +0000"
見たいのはtoday=@"2012-07-07 00:00:00 +0000"
サマータイムと関係があるとしか思えません。何か案は?