在iOS中按'按日期排序'查询所需的日期格式
我正在为我的iOS应用程序在sqlite中存储数据列表。 在DB中,一列'addedOn'以服务器响应格式'30 -Jul-2014 07:43:20'存储日期。 在这里,我已经在'addedOn'列上尝试了很多东西,但无法在ASC / DESC顺序中获取日期。 其他一些细节是
"SELECT * FROM tableName ORDER BY datetime(addedOn) DESC LIMIT 1" & "SELECT * FROM tableName ORDER BY date(addedOn) DESC LIMIT 1" & "SELECT * FROM tableName ORDER BY addedOn DESC LIMIT 1".
但所有这些查询都没有给我预期的结果。
我试图用另一种格式转换这个日期,同时在DB中插入它自己,但是以其他日期格式如'yyyy-MM-dd HH:mm:ss'
转换这种日期格式根本不起作用。 对于下面的代码尝试:
NSString * dateString = @“30-Jul-2014 07:43:20”; NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@“yyyy-MM-dd HH:mm:ss”]; NSDate * dateFromString = [[NSDate alloc] init]; dateFromString = [dateFormatter dateFromString:dateString];
NSString *stringDate = [dateFormatter stringFromDate:dateFromString];
NSLog(@"stringDate %@", stringDate);
所以我的问题是这可能转换为任何其他格式的这种类型的格式,或者是否有其他任何我缺少的东西。 请分享您的想法,并向我建议我需要做的改变。 任何帮助表示赞赏。
我有我的数据库与SQLite&日期格式为“dd-mmm-yyyy HH:mm:ss”,其中下面的查询工作..
SELECT * FROM TableName ORDER BY addedOn ASC
ASC | DESC可按要求使用..
如果您想要转换日期格式,请按以下步骤操作:
NSString * dateStr = @"30-Jul-2014 07:43:20";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:@"dd-MMM-yyyy HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:dateStr];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *finalString = [dateFormat stringFromDate:date];
这里的输出是finalString =“2014-07-30 07:43:20”
你的dataFormat似乎是错误的。 尝试下面的DateFormat。
[dateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:yourDateString];
这会给你确切的日期。
希望能帮助到你..
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"creationDate" ascending:YES];
尝试使用NSPredict并使用上面的代码
链接地址: http://www.djcxy.com/p/35171.html上一篇: Date format needed to work 'order by date' query in iOS
下一篇: Exception parsing NSDate from NSString with explicit formatter