Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Sqlite按日期列排序_Android_Sqlite_Android Sqlite - Fatal编程技术网

Android Sqlite按日期列排序

Android Sqlite按日期列排序,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,我正在sqlite表中以ISO8601格式存储日期示例2015-04-15T10:54:14Z,我想要表中最年轻的日期。下面是我的sqlite表中的日期 2015-04-15T10:54:14Z 2015-04-15T10:54:115Z 2015-04-15T10:54:216Z 2015-04-15T10:54:320Z 2015-04-15T10:54:422Z 我正在尝试以下查询: SELECT * FROM Table1 ORDER BY datetime("date_column

我正在sqlite表中以ISO8601格式存储日期示例2015-04-15T10:54:14Z,我想要表中最年轻的日期。下面是我的sqlite表中的日期

2015-04-15T10:54:14Z 
2015-04-15T10:54:115Z
2015-04-15T10:54:216Z
2015-04-15T10:54:320Z
2015-04-15T10:54:422Z
我正在尝试以下查询:

SELECT * FROM Table1 ORDER BY datetime("date_column") DESC ;

但是我没有得到合适的结果。

标准化为UTC的ISO 8601日期时间戳有一个很好的特性,即字母顺序(字典顺序)也是时间顺序


您不需要
datetime()
,只需
ORDER BY date\u column DESC
首先对最新的数据进行排序,您还可以添加
LIMIT 1
以获取最新的数据。

将查询更新为:

SELECT * FROM Table1 ORDER BY date_column DESC LIMIT 1

使用此方法将日期列放入数据库:

public String getDatetime(){
    //get time and date
    Calendar c=Calendar.getInstance();
    CharSequence s  = DateFormat.format("yyyy-MM-dd HH:mm:ss", c.getTime());

    //convert it to string array

    return s.toString();
}

然后像以前一样使用您的查询,因为datetime()接受特定的格式。

@user3271351您能将此标记为正式答案吗?不知道为什么这被否决。这是真正有用的信息。它就像一个魅力,因为我刚刚实现了它。不要用比较器嘲笑。谢谢@IaaIto“ISO 8601日期时间戳有一个很好的特性,即字母顺序(字典顺序)也是时间顺序。”仅当日期和时间以UTC表示,且末尾没有时区偏移。@balu是的,谢谢。澄清了答案。