我正在尝试将两个单独的文本字段中的日期和时间插入到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
答案 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];