这是一个创建于 4300 天前的主题,其中的信息可能已经有所发展或是发生改变。
假设 date1 为 今天的日期,[NSDate date]
我有如下代码:
NSLocale *zhLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:zhLocale];
[formatter setDateStyle:NSDateFormatterFullStyle];
[formatter setTimeStyle:NSDateFormatterNoStyle];
NSString *dateString = [formatter stringFromDate:date1];
self.tableViewCell.detailTextLabel.text = dateString;
从以上代码我可以得到那个dateString为:「2013年2月6日 星期三」这样的字符串。
然后我再尝试着将 dateString 转换回 NSDate 时:
NSDate *date2 = [formatter dateFromString:dateString];
这时的date2 我期望是再转换成当前日期。可是不知道为什么新的日期变成了1999年的12月28日。
不知道是因为什么原因造成的,如果把 setDateStyle 的 NSDateFormatterFullStyle 改成 NSDateFormatterLongStyle 就没有这个问题。