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 <roger.da...@gmail.com> 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 (Cocoa-dev@lists.apple.com)
>>> 
>>> 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 roger.da...@gmail.com
>> 
>> _______________________________________________
>> 
>> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>> 
>> 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 davedel...@me.com

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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 arch...@mail-archive.com

Reply via email to