我之前尝试过以下代码并且工作正常,但现在无法根据给定的格式验证日期。
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"
答案 0 :(得分:0)
我确信你已经从调试控制台打印了0199-12-23 18:06:32 +0000
这个。
请在结尾处看到:+0000
。由于NSDate对象始终以+0000时区保存数据。但是当您通过将其转换为字符串进行打印时,它会自动将您当前的时区记入帐户并打印日期。所以,不要担心,保存的日期非常好
NSDate始终保存在GMT时间内,但NSDateFormatter通过在其中添加当前时区来添加扭曲。所以你可以根据需要改变时区。