不在核心数据中存储日期

时间:2014-01-14 17:26:57

标签: ios nsdateformatter

我有一个文本字段来显示当前日期。

- (void)viewDidLoad
{
    [super viewDidLoad];
    todayDate = [NSDate date];
   NSString *stringDate = [NSString stringWithFormat:@"%@",todayDate];
    todoItemDueDateText.text = stringDate;
    // Do any additional setup after loading the view.
}

然后有一个保存按钮,用于将所有数据存储到核心数据实体中:

- (IBAction)save:(UIBarButtonItem *)sender {

    //converting string to date

    NSString *dateStr = todoItemDueDateText.text;

    // Convert string to date object
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"yyyy HH:mm:ss Z"];
    NSDate *date = [dateFormat dateFromString:dateStr];



    addToDoItem.todoName = _todoItemText.text;
    addToDoItem.todoDescription = _todoDescriptionText.text;
    addToDoItem.todoDueDate = date;
    [super saveAndDismiss];

}

核心数据对象已保存并存储,但todoDueDate属性仍为空白,不会引发错误或异常,但保存后todoDate属性为nil。其他属性是完美存储的。这个行为的任何想法? 显示的日期来自2014-01-14 17:25:22 +0000

类型

1 个答案:

答案 0 :(得分:3)

您的日期格式与您尝试解析的字符串不匹配。比较“yyyy HH:mm:ss Z”和“2014-01-14 17:25:22 +0000”。

您的格式必须类似

[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];