我在 sqlite for my iOS app 中存储数据列表 . 在DB中,一列'addedOn'存储了 server response in format '30-Jul-2014 07:43:20'. 的日期 . 这里我在'addedOn'列上尝试了很多东西但是无法在ASC / DESC顺序中获取日期 . 其他一些细节是
-
列'addedOn'日期类型为DATETIME .
-
尝试在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".
但所有这些查询都未能给我预期的结果 .
- 我试图以另一种格式转换此日期,同时在数据库中插入它自己,但转换此日期格式的其他日期格式如
'yyyy-MM-dd HH:mm:ss'
根本不起作用 . For that tried below code:
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);
所以我的问题是,这可能是以任何其他格式转换这种类型的格式,或者是否有任何我缺少的东西 . 请分享您的想法并建议我需要做的更改 . 任何帮助表示赞赏 .
4 回答
感谢大家的时间,并建议我需要做的改变 . Storing of NSDate as it is in DB instead of Converting NSDate in NSString and then inserting in DB solved my problem with little change in code
我的代码现在有两种情况
和
在这种情况下,插入DB后的日期为“2014-07-30 02:13:20 0000”格式 . 在此日期列的排序工作正常 .
您的dataFormat似乎是错误的 . 尝试以下DateFormat .
这将给你确切的日期 .
希望能帮助到你..
尝试NSPredict并使用上面的代码
我的数据库使用SQLite并且格式为“dd-mmm-yyyy HH:mm:ss”,其中以下查询有效 .
SELECT * FROM TableName ORDER BY addedOn ASC
ASC | DESC可根据要求使用..
如果你想转换你的日期格式而不是下面的:
这里的输出是finalString =“2014-07-30 07:43:20”