I use the same approach the Roger pointed out and have not encountered any problems as well. However, I not only set the time but the date (month, day, year) as well. The DST boundries should not matter since I am decomposing today's date [NSDate date], which is set by the end user's time settings in system preferences. Is this not correct?
Thanks. Tom On Oct 12, 2011, at 9:01 PM, Roger Dalal wrote: > Dave: > > Would it be possible for you to present an improved approach, please? I use > this solution frequently, and have not yet encountered any issues, but now > you have me worried! What approach do you suggest? > > Roger Dalal > > > On Oct 12, 2011, at 9:49 PM, Dave DeLong wrote: > >> Be careful with this approach, since there are some weird edge cases where >> that time may not exist on the proposed day (think DST boundaries). >> >> Dave >> >> Sent from my iPhone >> >> On Oct 12, 2011, at 6:46 PM, Roger Dalal <[email protected]> wrote: >> >>> Rick: >>> >>> The following code, which is likely what you are doing, will return the >>> time in 1970 (NSDate's reference date) because you have not specified a >>> date: >>> >>> NSString *timeString = @"14:50 PDT"; >>> NSDateFormatter *df = [[NSDateFormatter alloc ] init]; >>> [df setDateFormat:@"HH':'mm zzz"]; >>> NSDate *date = [df dateFromString:timeString]; >>> [df release]; >>> >>> >>> Instead, you need to use date components to set the day as well as the >>> time, per the following: >>> >>> NSString *timeString = @"14:50 PDT"; >>> NSDateFormatter *df = [[NSDateFormatter alloc ] init]; >>> [df setDateFormat:@"HH':'mm zzz"]; >>> NSDate *date = [df dateFromString:timeString]; >>> >>> NSCalendar *calendar = [NSCalendar currentCalendar]; >>> NSDateComponents *dateComponents = [calendar components:( >>> NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit ) >>> fromDate:[NSDate date]]; >>> NSDateComponents *timeComponents = [calendar components:( >>> NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit ) >>> fromDate: date ]; >>> >>> [dateComponents setHour:[timeComponents hour]]; >>> [dateComponents setMinute:[timeComponents minute]]; >>> [dateComponents setSecond:[timeComponents second]]; >>> >>> NSDate *timeToday = [calendar dateFromComponents:dateComponents]; >>> [df release]; >>> >>> Change 'fromDate' in NSDateComponents *dateComponents to whatever date you >>> want in order to create your time on a different day. >>> >>> Best Wishes. >>> >>> Roger Dalal >>> >>> >>> >>> >>> On Oct 12, 2011, at 9:30 PM, Rick Mann wrote: >>> >>>> I have a situation where I have to parse times like "14:50 PDT". If I just >>>> set up an NSDateFormatter with dateFormat = @"HH:mm z", I end up with a >>>> time of day in 1970. >>>> >>>> What's the best way to get it to give me that time of day today? >>>> >>>> Thanks, >>>> Rick >>>> >>>> _______________________________________________ >>>> >>>> Cocoa-dev mailing list ([email protected]) >>>> >>>> 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/roger.dalal%40gmail.com >>>> >>>> This email sent to [email protected] >>> >>> _______________________________________________ >>> >>> Cocoa-dev mailing list ([email protected]) >>> >>> 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/davedelong%40me.com >>> >>> This email sent to [email protected] > > _______________________________________________ > > Cocoa-dev mailing list ([email protected]) > > 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/tom.hohensee%40gmail.com > > This email sent to [email protected] _______________________________________________ Cocoa-dev mailing list ([email protected]) 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 [email protected]
