我只想在核心数据中保存时间而不是日期和时间 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
如果您只需要打印时间,就这样做吧。如果您还需要在核心数据实体上存储时间字符串,那么您需要为此添加一个字符串属性。
我想要 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
如果您只需要打印时间,就这样做吧。如果您还需要在核心数据实体上存储时间字符串,那么您需要为此添加一个字符串属性。