システムのタイムゾーン、iOS の日時をコードで設定したい。アイデアやプライベート API は役に立ちますか? 例: タイム ゾーンを GMT+8 に設定し、日時を 2013 年 8 月 10 日午後 8 時 30 分に設定します。どうやってするの?ありがとう!
13444 次
3 に答える
21
他の人が言っているように、アプリ内からシステムのタイムゾーンを編集することはできませんが、onを使用してアプリケーション全体のデフォルトのタイムゾーンを設定できます。+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
それが役立つことを願っています!
于 2014-06-30T14:59:11.937 に答える