在iPhone中将字符串转换为日期时出现问题?

时间:2010-08-04 03:46:01

标签: iphone nsdate nsdateformatter

如何将NSString 2010-08-03 04:37:31.0转换为2010年8月3日?

有可能吗?

2 个答案:

答案 0 :(得分:3)

这可能是重复的,但您正在寻找NSDateFormatter

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.S"];
NSDate *date = [dateFormatter dateFromString:inDateString];

[dateFormatter setDateFormat:@"MMMM dd',' yyyy"];
NSString *outDateString = [dateFormatter stringFromDate:date];

但这种方法存在两个问题。

  1. 输入字符串是缺少时区数据
  2. 不同的文化期望订单与月日不同。如果您使用NSDateFormatterStyle之类的通用NSDateFormatterLongStyle格式,则可以修复此问题。

答案 1 :(得分:0)

查看NSDateFormatter文档。您可能希望输出的格式字符串为@"%B %e, %Y"