I\'m trying to schedule a date on the calendar, which has a start time and an end time, everything works fine if the time zone is in the U.S., and the date the change does n
Simply change one line of code in your code...
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
This will set time format in universal which doesnot change with region or day light saving time.
I use following code to get desired timezone-converted datetime:
- (NSString *) getUTCDate : (NSString *) inputDate
{
NSDateFormatter *utcDateFormatter = [[NSDateFormatter alloc] init];
[utcDateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss Z"];
[utcDateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
// [utcDateFormatter setTimeZone :[NSTimeZone timeZoneForSecondsFromGMT: 0]];
// utc format
NSDate *dateInUTC = [utcDateFormatter dateFromString: inputDate];
return dateInUTC;
}
where dateInUTC is the date in GMT timezone.
You need to replace your own timezone in call [NSTimeZone timeZoneWithName:@"UTC"] and it should work.