我有一个NSString格式的日期,内容如下:29/02/2012 12:00:00 AM
我正在尝试将其转换为NSDate对象,以便使用以下方法进行比较:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"dd/MM/yyyy hh:mm:ss"];
但是当我使用dateFromString:方法时,我得到一个空值。
我缺少什么?
感谢。
- 编辑 -
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];
NSLog(@"INFO -> Test Date: %@",[df dateFromString:testQuestions.endDate]);
NSLog(@"INFO -> Test Date String: %@",testQuestions.endDate);
if ([[df dateFromString:testQuestions.endDate] earlierDate:[NSDate date]])
{
currentTestIsBeingSolved = NO;
}
日志:
2012-04-09 22:15:29.073 Otsuka On[27184:707] INFO -> Test Date: (null)
2012-04-09 22:15:31.816 Otsuka On[27184:707] INFO -> Test Date String: 29/02/2012 12:00:00 AM
编辑 -
正如@trudyscousin建议我开始一个新项目并添加了这个:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];
NSLog(@"INFO -> Test Date: %@",[df dateFromString:@"29/02/2012 12:00:00 AM"]);
...
现在我没有得到null,但日期不一样:
2012-04-09 22:26:19.189 TestDate[54705:207] INFO -> Test Date: 2012-02-28 23:00:00 +0000
日期是怎么回事?
Xcode中的任何配置?
感谢。
答案 0 :(得分:3)
你用“AM”为日期和时间加上后缀的事实就是这样做的。你也必须提供这个:
@"dd/MM/yyyy hh:mm:ss a"