dat 转换错误 IOS
Error in dat conversion IOS
我正在使用UIDatePicker
获取一个人的出生日期并以January 19, 2012
格式显示。我正在使用以下函数将日期选择器返回的日期转换为字符串格式:
-(NSString*)stringFromDate:(NSDate *)date
{
NSDateFormatter *formater =[[NSDateFormatter alloc]init];
[formater setDateFormat:@"MMMM dd, YYYY"];
NSString *str = [formater stringFromDate:date];
return str;
}
它工作正常,我正在将正确的日期转换为字符串。现在为了调用网络服务来保存这个数据,我再次使用相同的日期格式化程序格式将这个字符串转换为数据,如下所示:
- (NSDate *)dateFromString:(NSString *)string
{
NSDateFormatter *formater =[[NSDateFormatter alloc]init];
[formater setDateFormat:@"MMMM dd, YYYY"];
NSDate *date = [formater dateFromString:string];
return date;
}
但是现在,如果我选择的日期是October 18, 2006
上面的函数returns日期为2005-12-24 18:30:00 +0000
,使用第一个转换为字符串时是December 25, 2005
功能。即使我使用相同的 dat 格式化程序,为什么在不同的情况下会发生这种情况?
不要使用YYYY
格式。请改用 yyyy
。
所以正确的日期格式看起来像 [formater setDateFormat:@"MMMM dd, yyyy"];
那是你的错误。
我正在使用UIDatePicker
获取一个人的出生日期并以January 19, 2012
格式显示。我正在使用以下函数将日期选择器返回的日期转换为字符串格式:
-(NSString*)stringFromDate:(NSDate *)date
{
NSDateFormatter *formater =[[NSDateFormatter alloc]init];
[formater setDateFormat:@"MMMM dd, YYYY"];
NSString *str = [formater stringFromDate:date];
return str;
}
它工作正常,我正在将正确的日期转换为字符串。现在为了调用网络服务来保存这个数据,我再次使用相同的日期格式化程序格式将这个字符串转换为数据,如下所示:
- (NSDate *)dateFromString:(NSString *)string
{
NSDateFormatter *formater =[[NSDateFormatter alloc]init];
[formater setDateFormat:@"MMMM dd, YYYY"];
NSDate *date = [formater dateFromString:string];
return date;
}
但是现在,如果我选择的日期是October 18, 2006
上面的函数returns日期为2005-12-24 18:30:00 +0000
,使用第一个转换为字符串时是December 25, 2005
功能。即使我使用相同的 dat 格式化程序,为什么在不同的情况下会发生这种情况?
不要使用YYYY
格式。请改用 yyyy
。
所以正确的日期格式看起来像 [formater setDateFormat:@"MMMM dd, yyyy"];
那是你的错误。