我使用Xcode 4.6,并有一个UITextField视图,我可以设置日期。值是NSString,我可以用NSLog看到它。现在我想在coredata中保存这个日期。 XCdatamodel有一个具有一个属性myDate Date的实体。当我将NSString转换为NSDate时,我总是得到null。我的代码有什么问题? 感谢
我的代码:
//CoreData
AppDelegate *appdelegate = [[UIApplication sharedApplication] delegate];
context = [appdelegate managedObjectContext];
//Convert string to date
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd-MM-YYYY"];
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"Berlin"]];
NSDate *dte1 = [dateFormat dateFromString:self.myDate_Textfield.text];
NSString *dateString = [NSString stringWithFormat:@"%@", self.myDate_Textfield.text];
NSDate *dte2 = [dateFormat dateFromString:dateString];
//Output
NSLog(@"Value 1: %@",dte1);
NSLog(@"Value 2: %@",dte2);
NSLog(@"Value 3: %@",self.myDate_Textfield.text);
NSLog(@"Value 4: %@",myDate_Textfield.text);
NSLog(@"Value 5: %@",dateString);
//Save
NSEntityDescription *entity = [NSEntityDescription insertNewObjectForEntityForName:@"MyDates" inManagedObjectContext:context];
[entity setValue:dte2 forKey:@"myDate"];
NSError *error;
[context save:&error];
输出:
值1 :( null) 值2 :( null) 价值3:15.09.2014 价值4:15.09.2014 价值5:15.09.2014
答案 0 :(得分:0)
+(NSString *) stringFromDate:(NSDate *)date{
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd.MM.yyyy"];
return [dateFormat stringFromDate:date];
}
查看提供的字符串的日期格式是否正确。并升级您的xcode。您将无法使用xcode 4.6提交应用程序,它已过时了。
答案 1 :(得分:0)
我现在改为“dd.MM.yyyy”
输出为:“2014-09-14 22:00:00 +0000”
当我查看数据库时myDate的插入值是:“432424800”