如何将字符串转换为日期和日期字符串?
问题描述:
我的输入字符串如何将字符串转换为日期和日期字符串?
NSString *[email protected]"15 February 2012 17:05";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd MMMM YYYY HH:mm"];
NSDate *dateVal = [dateFormat dateFromString:inputString];
NSDateFormatter *dateFormat2 = [[NSDateFormatter alloc] init];
[dateFormat2 setDateFormat:@"MM/dd/YYYY HH:mm"];
NSString *outputString = [dateFormat2 stringFromDate:dateVal];
[dateFormat release];
[dateFormat2 release];
我得到了以下日期 outputString = 12/25/2011年17:05
但应02/15/2012 17:05..Where没有我做错了吗?
答
您正在使用错误的格式,日期格式,也没有必要建立NSDateFormatter的另一个实例 -
NSString *[email protected]"15 February 2012 17:05";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd MMMM yyyy HH:mm"];
NSDate *dateVal = [dateFormat dateFromString:inputString];
[dateFormat setDateFormat:@"MM/dd/yyyy HH:mm"];
NSString *outputString = [dateFormat stringFromDate:dateVal];
答
的日期格式不正确,使用方法:
[dateFormat setDateFormat:@"dd MMMM yyyy HH:mm"];
资本“YYYY”是用于“创周”基于日历。
参见:统一Date_Format_Patterns
BTW,的dateVal
的NSLog
会表明,问题是输入格式。
答
您的语言环境是否与您尝试解析的格式相对应?默认情况下,NSDateFormatter使用当前的语言环境。
答
输入日期格式应该是:
[dateFormat setDateFormat:@"dd MMMM yyyy HH:mm"];
的问题是在第一部分(解析日期字符串)。它将于2011年12月25日返回,但我不知道为什么。 – Rayfleck 2012-02-15 14:38:25