如何将日期存储到解析数据库(iOS)

时间:2015-12-07 08:02:48

标签: ios objective-c date parse-platform

我正在尝试将两个单独的文本字段中的日期和时间插入到parse.com数据库中,我设法将它们组合成一个NSString但是当创建要存储到数据库中的NSDate时,它显示为nil。

NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.SSS'Z'"];
NSString *dateTime = ([NSString stringWithFormat:@"%@T%@",jobDateTF.text,jobTimeTF.text]);
NSDate *dateNTime = [formatter dateFromString:dateTime];

要传入数据库,

advanceBooking[@"jobDate"] = dateNTime;

原谅我任何糟糕的格式化,新的stackoverflow

2 个答案:

答案 0 :(得分:1)

您的DateFormatter指定时间之前的年月日,但您的时间字符串不包含年,月和日 - 因此dateNTime可能是nil。 请查看NSDateComponents以了解您的日期构建。

修改: 使用评论中的新信息:

当你想从字符串中获取日期时,你必须指定EXACT格式 - 你的格式字符串表示日期部分应该看起来像'2015-12-10',但你的字符串说'10 -12-2015 ”。日期格式化程序应该如何知道如何处理字符串?请阅读NSDateFormatter和可能的格式字符串,StackOverflow上还有很多关于它的信息。

答案 1 :(得分:0)

NSDate *date = [datePicker date];

// format the NSDate to a NSString
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"cccc,MMM d,hh:mm aa"];
NSString *dateString = [dateFormat stringFromDate:date];

// save to Parse
PFObject *addValues= [PFObject objectWithClassName:@"your-class"];
[addValues setObject: dateString forKey:@"your-key"];
[addValues saveInBackground];