Date Time Converion According to TimeZone in iOS
Local timezone to other
time zone:
//creating
object of NSDateFormatter
NSDateFormatter
*dateFormatter=[[NSDateFormatter
alloc]
init];
//setting
format for date
[dateFormatter
setDateFormat:@"yyyy-MM-dd
HH:mm:ss"];
//setting
timezone for dateFormatter
dateFormatter.timeZone=[NSTimeZone
localTimeZone];
//getting
localdate from system
NSString
*localDate =[dateFormatter stringFromDate:[NSDate
date]];
//Convert
from string to date
NSDate
*serverDate = [dateFormatter dateFromString:localDate];
//setting
the dateformatter timezone according to which time needed
dateFormatter.timeZone=[[NSTimeZone
alloc]
initWithName:@"America/New_York"];
//getting
date in desired formate
NSString
*date =[dateFormatter stringFromDate:serverDate];
Other
timezone to local time zone:
NSString
*serverDateString=@"2014-06-19
10:50:10";
NSDateFormatter
*dateFormatter = [[NSDateFormatter
alloc]
init];
dateFormatter.timeZone=[[NSTimeZone
alloc]
initWithName:@"America/New_York"];
dateFormatter.dateFormat=@"yyyy-MM-dd
HH:mm:ss";
//Convert
from string to date
NSDate
*dateObject = [dateFormatter dateFromString:serverDateString];
//setting
dateformatter to according to local timezone
dateFormatter.timeZone=
[NSTimeZone
localTimeZone];
//Now
back from date to string
NSLog(@"From
date to string: %@", [dateFormatter
stringFromDate:dateObject]);
[dateFormatter
setDateFormat:@"hh:mm
a"];
NSString
*time =[dateFormatter stringFromDate:dateObject];
this is good code working fine for me.
ReplyDeleteSandeep