iPhone SDK:测试有效的字符串日期
答
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"mmyy"];
NSDate *date = [dateFormatter dateFromString:YOUR_STRING];
If (date) {
// CORRECT
}
答
用户NSDateFormatter
的-setDateFormat:
和-dateFromString:
方法。如果字符串格式不正确,您将从-dateFromString:
返回nil
。
答
这个dateFormatter事情对我来说不方便,因为它接受许多事情作为有效的日期。好吧,yesus出生后的第二天确实是一个有效的日期;-)还dateformatter从我的日期字符串中删除1小时,因为它似乎用utc时间左右计算...这就是为什么我喜欢检查正确的日期与常规表情:
[textfield.text rangeOfString:@"^(0[1-9]|[1-2][0-9]|3[0-1])(0[1-9]|1[0-2])(19|20)[0-9]{2}" options:NSRegularExpressionSearch].location == NSNotFound
这个例子是德国的日期格式
感谢。以及如何测试号码? – butchcowboy 2010-10-05 18:00:15
你可以用'[str intValue];' – vodkhang 2010-10-05 23:33:27
来尝试你的日期格式应该是MMyy。毫米是分钟,所以45是有效的,你也应该释放你的dateFormatter – Sandro 2013-02-06 16:59:35