I'm encountering similar problem on simulator iOS 4.0 (SDK 4 final) without IB and it hasn't to do with timezone change after build (I deleted build, cleaned targets and made rebuild).
Code:
NSLog(@"birthday=%@",birthdayDate);
NSLog(@"now =%@",[NSDate date]);
[datePicker setDate:bbirthdayDate animated:NO];
datePicker.timeZone = [NSTimeZone localTimeZone];
datePicker.locale = [NSLocale currentLocale];
datePicker.calendar = [NSCalendar currentCalendar];
datePicker.datePickerMode = UIDatePickerModeDate;
[datePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged];
NSLog diplays correctly this:
Code:
birthday=2000-07-16 12:00:00 +0300
now =2010-07-14 19:30:46 +0300
But DatePicker displays 2000-07-
15. However on iPad simulator (3.2) and iPhone 3.1.2 it works fine. Seems to be a problem on iOS4. It didn't help to set localTimeZone. Btw - my MacBook and simulator is working with timezone of Ukraine (Kiev). I don't have a device with iOS4 to test it.