Я хочу установить системный часовой пояс, дату в iOS по коду. Любые идеи или частные апы помогают мне? Пример: Установите часовой пояс на GMT + 8 и дату до 10 августа 2013 года 20:30. Как это сделать? Благодаря!Как установить системный часовой пояс для iOS по коду?
ответ
Как уже говорили другие, вы не можете редактировать системный часовой пояс из приложения, однако вы можете установить часовой пояс по умолчанию для всего приложения, используя +setDefaultTimeZone:
по адресу NSTimeZone
.
Вы упомянули это для тестирования, так что я буду считать это для модульного тестирования некоторых пользовательской даты форматтеров и такой, в этом случае вы могли бы сделать что-то подобное в тестовом модуле:
static NSTimeZone *cachedTimeZone;
@implementation DateUtilTests
+ (void)setUp
{
[super setUp];
cachedTimeZone = [NSTimeZone defaultTimeZone];
// Set to whatever timezone you want your tests to run in
[NSTimeZone setDefaultTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
}
+ (void)tearDown
{
[NSTimeZone setDefaultTimeZone:cachedTimeZone];
[super tearDown];
}
// ... do some tests ...
@end
Надеюсь, что это поможет!
Даже если это не задокументировано, вы также можете избежать кеширования часового пояса, поскольку '[NSTimeZone setDefaultTimezone: nil]' достаточно для сброса 'defaultTimeZone' к исходному значению. – viteinfinite
В быстром режиме мы можем использовать 'NSTimeZone.resetSystemTimeZone()' для достижения этого –
@ beehive-bedlam per https://developer.apple.com/reference/foundation/nstimezone/1387189-resetsystemtimezone?language=objc это похоже на 'resetSystemTimeZone' существует с iOS 2 и это не только Swift. –
Как @Filip сказал в комментариях, это невозможно изменить системные настройки внутри приложения. То, что вы можете сделать (не знаю, будет ли оно полезно для вас), задает часовой пояс NSDates, с которым вы работаете, внутри вашего APP.
Это пример того, как сделать это:
NSString *dateString = @"2013-08-07 17:49:54";
NSDateFormatter *dateFormatter = [NSDateFormatter new];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"Europe/London"]; //set here the timezone you want
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setTimeZone:timeZone];
NSDate *date = [dateFormatter dateFromString:dateString];
Вот список возможных часовых поясов, которые будут использоваться с timeZoneWithName: `: http://pastebin.com/ibNU2RcG
Благодарим вас за это предложение, но как установить внутри моего приложения, и этот часовой пояс и дата будут установлены для всех приложений в iOS? –
Ну, как я уже говорил, для всей системы, для всех приложений и т. Д., Кажется, что нет никакого способа сделать это, извините, вы можете контролировать дату и время своего приложения. –
- 1. Установить системный часовой пояс в Linux
- 2. получить часовой пояс по коду страны jquery
- 3. Как программно изменить системный часовой пояс
- 4. Как найти текущий системный часовой пояс
- 5. установить часовой пояс для tomcat
- 6. Как установить часовой пояс динамически как часовой пояс клиента
- 7. Как установить часовой пояс по умолчанию для DateTime.parse по умолчанию()
- 8. Как установить php часовой пояс
- 9. PHP, как установить часовой пояс?
- 10. iOS Dateformatter Часовой пояс
- 11. Как установить часовой пояс для даты в iOS 3.x
- 12. Изменить системный часовой пояс с Pytz
- 13. Как установить часовой пояс для даты JavaScript?
- 14. Как установить часовой пояс для SQL?
- 15. Как установить часовой пояс для UniObjects?
- 16. Для текущего времени iOS требуется часовой пояс?
- 17. Как установить часовой пояс по умолчанию для всех?
- 18. Как изменить системный часовой пояс с помощью python в Windows?
- 19. Установить часовой пояс в PHP для Пакистана
- 20. iOS NSDateFormatter, игнорирующий часовой пояс
- 21. Установить часовой пояс для функции strtotime
- 22. Oracle: установить часовой пояс для столбца
- 23. Установить часовой пояс по умолчанию для приложения для Android.
- 24. Как получить системный часовой пояс с названием города?
- 25. Установить глобальный часовой пояс JS
- 26. Как установить часовой пояс перед вызовом strftime?
- 27. Установить часовой пояс объекта Date
- 28. Как установить часовой пояс диспетчера автоматики azure
- 29. Брус установить MySQL часовой пояс для мадрид
- 30. Как установить часовой пояс в cakephp?
Вы не можете установить системные настройки из приложения! (Возможно, на устройстве, поврежденном в тюрьме) – Groot
Вы можете использовать privates apis для этого, но это не будет принято в магазине приложений. Собираетесь ли вы для внутреннего распределения? – cvsguimaraes
Да, я думаю, есть некоторые частные apis, чтобы сделать это, но я не знаю, Он просто использует для тестирования дома! –