我想搜索我的字典数组中的特定日期。我想搜索我的数组字典中的日期"16 Jan 2012"
,这是字符串格式但我的数组中的字典项包含日期和时间,比如{{ 1}}。我正在转换NSDate格式的字符串格式日期,但我的日期为"16 Jan 2012 somehours:somemins:somesecs"
而不是2012-01-15 18:30:00 +0000
。我正在使用NSPredicate搜索将日期转换为秒的日期,如下所示{{ 1}}并进行比较,即使我的记录包含日期为2012-01-16
,它也不满足条件。我希望包含日期"Date == CAST(348345000.000000, "NSDate")"
的记录/数组符合搜索条件。请任何人都知道如何实现这个目标?
提前致谢!
答案 0 :(得分:0)
您需要使用NSDateFormatters将日期字符串从一种格式转换为另一种格式。您可以使用inputDateFormatter,使用dateFromString为您提供NSDate,然后将其提供给outputDateFormatter,它提供您想要的字符串。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd MMM yyyy"];
NSString *dateInFormatYouWant = [dateFormatter stringFromDate:yourDate]
我不确定是否有比这更有效的方法。
答案 1 :(得分:0)
为了摆脱NSDateFormatter
自动调整你的时区,请使用类似的东西。
dateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
详细说明; “16 Jan 2012
”不包含小时,分钟或秒值,因此在使用NSDateFormatter
进行解析时,可能会期望NSDate的描述为“2012-01-16 00:00:00 +000
”但这不是你的'因为日期格式器正在调整GMT和印度之间的5:30小时?(假设基于:30差异)。通过明确设置日期格式化程序的时区,可以避免此问题。