我正在使用此代码将字符串转换为日期:
+(NSDate*)dateTexteFromString:(NSString*)someString
{
NSDateFormatter *df = [[NSDateFormatter alloc] init];
NSLocale *locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease];
[df setLocale:locale];
[df setDateFormat:@"EEE, dd MMM yyyy hh:mm a zzz"];
NSDate *myDate = [df dateFromString: someString];
[df release];
return myDate;
}
它适用于大多数日期,但这个让我发疯:
星期二,2011年7月12日上午12:28 MSD
(莫斯科)。我该怎么办?还有像这样的其他无法识别的时区吗?我不能尝试世界上所有的时区:(
答案 0 :(得分:4)
使用MSKS代替MSD或通过执行以下操作找到所需内容:
首先使用
查找可用的时区名称NSLog(@"%@", [NSTimeZone knownTimeZoneNames]);
然后复制您想要的名称(我复制了Europe / Moscow)并使用此代码查找缩写
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"Europe/Moscow"];
NSLog(@"%@",[timeZone abbreviation]);