我正在尝试将此字符串“2012-02-05T00:00:00 + 00:00”转换为更具吸引力,格式正确的字符串,例如“2012年3月5日星期二。”
我有一个我正在工作的例子:
NSString *dateStr = @"20081122";
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyyMMdd"];
NSDate *date = [dateFormat dateFromString:dateStr];
// Convert date object to desired output format
[dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
dateStr = [dateFormat stringFromDate:date];
NSLog(@"date: %@", dateStr);
[dateFormat release];
我如何使用上面的类似代码来容纳日期格式“2012-02-05T00:00:00 + 00:00”?
谢谢。
答案 0 :(得分:3)
您可以使用 -
[dateFormat setDateFormat:@"yyyy-MM-ddThh:mm:ss z"];
答案 1 :(得分:1)
当我看到您的时间“2012-02-05T00:00:00 + 00:00”时,我认为您正在将“NSDate”打印到控制台中。在那个时间“2012-02-05”是一个日期,“T00:00:00 + 00:00”是一个时间。所以当你需要像这样使用日期时,
NSString *dateStr = @"2012-02-05";
你必须像这样格式化
[dateFormat setDateFormat:@"yyyy-MM-dd"];
如果您想根据需要将日期组件转换为
NSString *dateStr = @"2012-02-05";
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormat dateFromString:dateStr];
// Convert date object to desired output format
[dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
dateStr = [dateFormat stringFromDate:date];
NSLog(@"%@",dateStr);
您甚至可以这样做,将当前日期转换为您喜欢的日期。
// Convert date object to desired output format
[dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
dateStr = [dateFormat stringFromDate:[NSDate date]]; //for current date
NSLog(@"%@",dateStr);