Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
来自SQLite的Android格式日期_Android_Sqlite_Date_View - Fatal编程技术网

来自SQLite的Android格式日期

来自SQLite的Android格式日期,android,sqlite,date,view,Android,Sqlite,Date,View,我以支持的格式yyyy-mm-dd在sqlite数据库中插入日期。 现在,我希望用户在查询时根据国家/地区意大利dd mm yyyy、美国yyyy mm dd等显示日期格式 我该怎么办?谢谢数据类型。如果您插入01-01-2013之类的内容,它将以字符串的形式存储,这使得比较、排序和查询变得困难而缓慢,因为您需要使用SQLite日期函数对其运行转换 您应该存储UNIX时间戳。这要求日期列的类型为整数。时间戳可以快速处理、排序和选择,例如,您可以使用Java类以任何日期格式表示它们。您可以通过工厂

我以支持的格式yyyy-mm-dd在sqlite数据库中插入日期。 现在,我希望用户在查询时根据国家/地区意大利dd mm yyyy、美国yyyy mm dd等显示日期格式

我该怎么办?谢谢数据类型。如果您插入01-01-2013之类的内容,它将以字符串的形式存储,这使得比较、排序和查询变得困难而缓慢,因为您需要使用SQLite日期函数对其运行转换

您应该存储UNIX时间戳。这要求日期列的类型为整数。时间戳可以快速处理、排序和选择,例如,您可以使用Java类以任何日期格式表示它们。您可以通过工厂方法检索


除此之外,Android的专用类还提供了各种函数,用于在用户的区域设置中创建日期时间和时间范围字符串。

请尝试以下代码

String date = "2013-11-15"; // Retrived date in your specified format from sqlite
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date res = null;
    try {
        d = (Date)sdf.parse(date);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    Calendar c = Calendar.getInstance();
    c.setTime(d);

    String day = c.get(Calendar.DAY_OF_MONTH);
    String month = c.get(Calendar.MONTH);
    String year = c.get(Calendar.YEAR); 
//You can use these day, month and year string values to view in any format

希望这对你有帮助。谢谢。

您也可以使用SQLite日期和时间格式化程序,例如:

SELECT strftime( '%d-%m-%Y', birthday) as birthday FROM people

你帮了我很多!这是我找到的简单方法,我适应了我的代码,从Sqlite日期检索数据并返回另一个表示格式化日期的字符串。谢谢