以下是我用来根据所选地区显示日期的代码。但始终显示2016年1月25日。根据地区变化不变。例如,美国:2016年1月5日和英国:2016年1月5日。
NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:NSLocaleIdentifier]];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
NSLog(@"%@",[dateFormatter stringFromDate:date]);
答案 0 :(得分:1)
如果您希望根据用户的区域设置格式化日期,请不要设置区域设置。它已经默认为用户的语言环境。
NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
NSLog(@"%@",[dateFormatter stringFromDate:date]);
BTW - 您使用NSLocaleIdentifier
并不正确。这是一些内部常量,而不是您传递给initWithLocaleIdentifier:
的值。