Iphone 无法将NSTimeZone设置为所需格式
我有一个时区作为NSString值,给定为“GMT-09:00” 我只想用这种格式设置我的NSTimeZone。我试过了,但没能做到。这个时间可能每次都不同,所以我不能在方法中将它设置为静态 我不能这样做——时区每秒从格林尼治标准时间:(-9*3600) 另外,我可以将上述格式(GMT-09:00)转换为秒数吗 编辑:我只想将时区设置为特定的GMT格式。它可以是任何东西,GMT-09:00、GMT+05:30等等。 如果它是一个静态值,我可以对NSTimeZone使用下面的方法Iphone 无法将NSTimeZone设置为所需格式,iphone,nsdate,nsdateformatter,nstimezone,Iphone,Nsdate,Nsdateformatter,Nstimezone,我有一个时区作为NSString值,给定为“GMT-09:00” 我只想用这种格式设置我的NSTimeZone。我试过了,但没能做到。这个时间可能每次都不同,所以我不能在方法中将它设置为静态 我不能这样做——时区每秒从格林尼治标准时间:(-9*3600) 另外,我可以将上述格式(GMT-09:00)转换为秒数吗 编辑:我只想将时区设置为特定的GMT格式。它可以是任何东西,GMT-09:00、GMT+05:30等等。 如果它是一个静态值,我可以对NSTimeZone使用下面的方法 [formatt
[formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:(-9*3600)]];
但是值“GMT-09:00”是一个NSString。所以每次,我都必须打破字符串,得到小时和分钟的值。有更简单的方法吗
谢谢你的帮助 你试过这样的东西吗
NSString *tzStr = @"GMT-09:00";
NSTimeZone *tz = [[NSTimeZone alloc] initWithName:tzStr];
NSLog(@"Tz: %@", tz);
NSLog(@"Offset: %d", [tz secondsFromGMT]);
// Tz: GMT-0900 (GMT-09:00) offset -32400
// Offset: -32400
也适用于@“GMT+5:30”
// Tz: GMT+0530 (GMT+05:30) offset 19800
然后只需使用
[formatter setTimeZone:tz]代码>您尝试过类似的方法吗
NSString *tzStr = @"GMT-09:00";
NSTimeZone *tz = [[NSTimeZone alloc] initWithName:tzStr];
NSLog(@"Tz: %@", tz);
NSLog(@"Offset: %d", [tz secondsFromGMT]);
// Tz: GMT-0900 (GMT-09:00) offset -32400
// Offset: -32400
也适用于@“GMT+5:30”
// Tz: GMT+0530 (GMT+05:30) offset 19800
然后只需使用[formatter setTimeZone:tz]代码>这一条对你很有帮助。优化帮助
float offsetSecond = ([[NSTimeZone systemTimeZone] secondsFromGMT] / 3600.0);
这个对你有帮助。优化帮助
float offsetSecond = ([[NSTimeZone systemTimeZone] secondsFromGMT] / 3600.0);
我真的不明白你的问题,你想把GMT-09:00转换成手机可以理解的格式吗?哦,好的,我已经更新了问题。请检查我真的不明白你的问题,你想把GMT-09:00转换成手机可以理解的格式吗?哦,好的,我已经更新了问题。请检查好的,谢谢,成功了。。。事实上,问题只是别的。我忘了为NSDateFormatter设置日期格式,因此,日期没有显示!好的,谢谢,成功了。。。事实上,问题只是别的。我忘了为NSDateFormatter设置日期格式,因此,日期没有显示!