我收到一个包含日期的字符串。我想检查它是否具有“dd/MM/yyyy”格式。现在我正在使用在同一页面中找到的代码:
NSDate *date = [dateFormatter dateFromString:dateString];
if(date == nil) {
correctFormat = false;
}
它适用于某些情况,但例如,如果我输入“22-12-1996”而不是“22/12/1996”,它无论如何都会创建日期。还有其他一致的方法吗?
NSDateFormatter https://developer.apple.com/documentation/foundation/nsdateformatter处理字符串日期的格式。
NSDateFormatter 的实例创建 NSDate 对象的字符串表示形式,并将日期和时间的文本表示形式转换为 NSDate 对象。
试试这个,看看:
// Set date format according to your string date format
// e.g.: For,
// 22-12-1996 -> @"dd-MM-yyyy"
// 22/12/1996 -> @"dd/MM/yyyy"
// 1996-12-22 03:45:20 -> @"yyyy-MM-dd HH:mm:ss"
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"dd/MM/yyyy";
//dateFormatter.dateFormat = @"dd-MM-yyyy";
NSDate *date = [dateFormatter dateFromString:dateString];
if(date == nil) {
correctFormat = false;
}
NSLog("Date: %@",date);
Note:日期格式中的每对字符将相关日期组件与日期实例相关联。您可以使用日期字符串模式创建任何类型的日期格式。
这是苹果公司的文档:日期格式化程序 https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html
-
日期(日): dd
-
Month:MM 或 MMM 或 MMMM
-
Year: yy 或 yyyy
以下是日期格式列表:日期格式 https://www.vsni.co.uk/software/genstat/htmlhelp/spread/DateFormats.htm
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)