我有格式的日期(NSString
):
20120508T224500Z
我正在尝试使用NSDateFormatter
从字符串中创建NSDate
:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMddTHHmmssZ"];
NSDate *dateFromString = [[NSDate alloc] init];
但是这会错误地解析/格式化NSDate。
我正在尝试获取格式:
4:45 PM 5/8/2012
如何使用日期格式化程序yyyyMMddTHHmmssZ
来获取此格式?
答案 0 :(得分:4)
您必须在字符串中单引号“T”和“Z”:20120508T224500Z
有关格式信息,请参阅unicode date formatting。
示例:
NSString *dateString = @"20120508T224500Z";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMdd'T'HHmmss'Z'"];
NSDate *dateFromString = [dateFormatter dateFromString:dateString];
NSLog(@"dateFromString: %@", dateFromString);
[dateFormatter setDateFormat:@"h:m a M/d/yyyy"];
NSString *newDataString = [dateFormatter stringFromDate:dateFromString];
NSLog(@"newDataString: %@", newDataString);
NSLog输出:
dateFromString:2012-05-09 02:45:00 +0000
newDataString:10/45 PM 5/8/2012
请注意,NSLog使用NSDate描述方法并以当地时间显示日期/时间
使用- (void)setTimeZone:(NSTimeZone *)tz
在不同的时区创建字符串。