Как сохранить ту же дату, даже если часовой пояс изменен. например: я в Индии, часовой пояс IST. У меня есть напоминание о настройке в 10 утра IST. Я переезжаю в США (у которого есть 5 часовых поясов), я в PDT. Он должен напоминать мне в 10 утра PDT, а не 8:30 вечера PDT.Пожалуйста, помогите!Как сохранить ту же дату, даже если изменяется часовой пояс
ответ
Вы можете использовать этот код. может быть, это полезно для вас.
NSDate sourceDate = Yourdate;
NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithName:@"Australia/Melbourne"];
NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone]; // your device time . you can also change any time zone like above.
NSInteger sourceGMTOffset = [sourceTimeZone secondsFromGMTForDate:sourceDate];
NSInteger destinationGMTOffset = [destinationTimeZone secondsFromGMTForDate:sourceDate];
NSTimeInterval interval = destinationGMTOffset - sourceGMTOffset;
NSDate* destinationDate = [[NSDate alloc] initWithTimeInterval:interval sinceDate:sourceDate];
все еще не могу получить его! –
этот код является неправильным, он рассчитывает местное время в Мельбурне, исходя из системного времени устройства. – Andy
Вы можете изменить часовой пояс источника и назначения, как вы хотите. погодные условия его системного часового пояса или другого часового пояса. –
Итак, если IST опережает PDT на 12.30 часов, а в Калькутте 10 часов. Когда будет 10 часов в PDT? – Andy