我有一个NSString,即05/08/2014。我想将其转换为NSDate。但是,我还需要及时添加,以便生成的NSDate看起来像这样:
Thu, 8 May 2014 00:00:00 -0500
时间并不重要,我只需要在指定的时区显示午夜。
我试过了:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss zzz"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:textdate.text];
[dateFormatter release];
NSLog(@"%@", dateFromString);
但是日期又回来了(null)。
答案 0 :(得分:1)
第一次转换时,您的日期格式有误。您需要的是首先从一种格式转换为字符串到日期,并将新日期格式化为新的字符串格式。像这样:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM/dd/yyyy"]; //convert the string into date (american time zone)
NSDate *theDate = [formatter dateFromString:textdate.text];
[formatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss ZZZ"];// as @Logan suggested
NSString *newDate = [formatter stringFromDate:theDate];
答案 1 :(得分:0)
您的时区代码是小写而不是大写。
zzz对应于PDT
ZZZ对应-0500