1

我一直在查看 StackOverflow 并没有找到任何答案,如果我错过了回答这个问题的帖子,我深表歉意,并感谢提供链接。

我正在尝试将字符串“prod.Start”更改为 NSDate 类型,以便与今天的日期进行比较。以下代码 myDate 返回“1753-01-01 00:00:00 -075258”

代码:

NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setFormatterBehavior:NSDateFormatterBehavior10_4];
[format setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *myDate = [format dateFromString: prod.Start];  //prod.Start = 1/1/1753 12:00:00 AM

任何建议/提示将不胜感激。

谢谢

编辑:

现在工作:感谢所有帮助。我认为是一个错误是 12AM = 0 o'clock AM

我试过中午 12 点,输出是“1753-01-01 12:00:00 -075258”

感谢您还解释了“-075258”= PST 对此感到好奇。

4

2 回答 2

1

你在正确的轨道上。NSDate 比较函数仅适用于该标准格式,因此这是正确的输出(尽管如果我的代码不起作用,请检查 Max 的解决方案)。您现在需要将其与今天的日期进行比较......

NSDate *todaysDate = [NSDate date];
BOOL isToday = [todaysDate isEqualToDate:myDate];

那应该给你你正在寻找的东西。

于 2010-09-01T00:46:34.713 回答
0

您使用的是 10.4 样式的格式字符串,但默认的格式化程序行为是 10.0 样式。您确定您的格式化程序使用了正确的样式吗?您可以使用–setFormatterBehavior:或全局更改它+setDefaultFormatterBehavior:

于 2010-09-01T00:41:52.387 回答