NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd MMM YYYY"];
NSLog(@"formatted date %@",[formatter dateFromString:@"14 Oct 2013"]);
我正在尝试格式化2013年10月14日的日期,以获取NSDate对象。但由于某种原因,它没有按预期格式化。 这是我在控制台上登录后得到的日期对象,
formatted date 2012-12-22 18:30:00 +0000
我在这里做错了什么?
答案 0 :(得分:5)
您应该使用小写yyyy,因为大写的一个表示基于星期的日历年,您应该指定时区:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd MMM yyyy"];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[formatter setTimeZone:gmt];
NSLog(@"formatted date %@",[formatter dateFromString:@"14 Oct 2013"]);