我只想在核心数据中保存时间而不是日期和时间 objective-c

I want to Save only Time instead of Date and time in coredata objective-c

我想要 hh:mm:ss (10:45:32) 而不是 2017-10-24 10:45:32 +0600,如何在 Core Data 中实现?

- (IBAction)SaveTasks:(UIButton *)sender
{

    [dateformater setDateFormat:@"dd/MM/yyyy"];

    NSDate *date = [dateformater dateFromString:datepictxt.text];

    NSManagedObjectContext *context = ((AppDelegate*)[[UIApplication sharedApplication] delegate]).persistentContainer.viewContext;

    NSManagedObject *entityNameObj = [NSEntityDescription insertNewObjectForEntityForName:@"Tasks" inManagedObjectContext:context];

    [entityNameObj setValue:tasks.text forKey:@"taskname"];
    [entityNameObj setValue:date forKey:@"date"];

    [((AppDelegate*)[[UIApplication sharedApplication] delegate]) saveContext];

    NSError *error = nil;
    if (![context save:&error])
    {
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);

    }else {
        NSLog(@"Your Data has been Saved!");
    }



}

如果您有一个日期类型的 CoreData 实体,那么默认情况下日期是一个 NSDate,尽管您可以在数据模型检查器(右侧窗格,最右侧的选项卡)中为属性使用标量类型。

无论哪种方式,该日期类型都将包含完整的日期信息——包括日期和时间。

如果你只想打印时间,你可以这样做:

NSDate *now = [NSDate date];

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"hh:mm:ss";
NSString *timeString = [formatter stringFromDate:now];
NSLog(@"time:%@", timeString);
// prints: time:03:02:21

如果您只需要打印时间,就这样做吧。如果您还需要在核心数据实体上存储时间字符串,那么您需要为此添加一个字符串属性。