验证日期不起作用

时间:2016-08-12 08:52:01

标签: ios nsdateformatter

我之前尝试过以下代码并且工作正常,但现在无法根据给定的格式验证日期。

 NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateStyle:NSDateFormatterShortStyle];
[format setDateFormat:@"dd-MM-yyyy"];
NSDate *validateDOB = [format dateFromString:textField.text];
if (validateDOB != nil)
    return YES;
else
    return NO;

当我尝试将日期字符串验证为24-12-199时,validateDOB将返回值为" 0199-12-23 18:06:32 + 0000"

1 个答案:

答案 0 :(得分:0)

我确信你已经从调试控制台打印了0199-12-23 18:06:32 +0000这个。

请在结尾处看到:+0000。由于NSDate对象始终以+0000时区保存数据。但是当您通过将其转换为字符串进行打印时,它会自动将您当前的时区记入帐户并打印日期。所以,不要担心,保存的日期非常好

NSDate始终保存在GMT时间内,但NSDateFormatter通过在其中添加当前时区来添加扭曲。所以你可以根据需要改变时区。