我在一个视图中从选取器转换日期时遇到了NSDateFormatter I问题
`NSDateFormatter *output = [[NSDateFormatter alloc] init];
[output setDateStyle:NSDateFormatterMediumStyle];
[output setDateStyle:NSDateFormatterShortStyle];
[output setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSString *StringToSend = [output stringFromDate:datePicker.date];然后将字符串发送到其他nib
在哪里使用该代码将其转换回来
`NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateStyle:NSDateFormatterMediumStyle];
[inputFormatter setDateStyle:NSDateFormatterShortStyle];
[inputFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *formatterDate = [inputFormatter dateFromString:StringFromOtherView];
NSLog(@"%@", formatterDate);`并返回错误日期发送2011-09-26 01:02:49获取2011-09-25 22:02:49 +0000
怎么啦?
发布于 2011-09-26 06:44:27
因为:
NSLog()一个NSDate时,它总是把它记录在GMT 发布于 2011-09-26 06:14:05
在日期格式字符串中包括时区。
发布于 2012-05-16 21:30:29
+ (NSDate*) dateFromString:(NSString*)aStr
{
if (aStr.length == 10) {
aStr = [aStr stringByAppendingFormat:@" 00:00:00"];
}
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM-dd-yyyy HH:mm:ss"];
dateFormatter.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
NSLog(@"strdate %@", aStr);
NSDate *aDate = [dateFormatter dateFromString:aStr];
NSLog(@"date = %@",aDate);
[dateFormatter release];
return aDate;}
https://stackoverflow.com/questions/7548951
复制相似问题