-1

我已经在文本文件中存储了一个日期,我可以正确地读出它。这个字符串的输出是

“下午 6:00”

就这样。但是,当我这样做时:

//First, set the first datePicker
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];

     NSString *breakfastTimeStartLocation = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"breakfastTimeStart.txt"];

    NSString *time = [NSString stringWithContentsOfFile:breakfastTimeStartLocation encoding:NSUTF16StringEncoding error:nil];
    NSLog(@"Loaded time is %@", time);
    NSDate *startDate = [dateFormatter dateFromString:time];

    NSLog(@"Start Date = %@", startDate);

在此,time返回"6:00 PM",但startDate返回"(null)"

我一定错过了一些东西,为什么这在世界上不起作用?

谢谢。

4

2 回答 2

1

我相信问题在于您从未设置日期格式。即使这不是唯一的问题,它也可能是一个。尝试类似:

 [dateFormatter setDateFormat:@"MM/dd/YYYY"];
于 2013-02-01T00:53:06.503 回答
-2

这不是初始化 an 的正确方法NSDateFormatter,指定的初始化程序是initWithDateFormat:allowNaturalLanguage:

因此:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc]
initWithDateFormat:@"h:mm a" allowNaturalLanguage:NO];
于 2013-01-31T23:39:37.713 回答