如何在sqlite中创建日期字段并为其定义日期格式?

时间:2015-12-23 05:48:36

标签: android string sqlite datetime android-studio

我想将日期字段存储到我的数据库中。为了做到这一点,我想我可能需要一种格式存储在数据库中。

如何设置该日期字段的格式?在java代码部分,我应该使用的变量是一个整数吗?或者只是一个字符串?

3 个答案:

答案 0 :(得分:1)

您可以将DATE字段用作varChar,即字符串格式。

例如:将此项添加到您的表中以获取日期 COLUMN_varDisplayDate +"文字,"

使用此方法根据您的要求格式化日期,

public static String getDateFormat(String date) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
        String convertedDate = "";
        try {
            Date parseDate = dateFormat.parse(date);
            SimpleDateFormat fmtOut = new SimpleDateFormat("yyyy-MM-dd");
            convertedDate = fmtOut.format(parseDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return convertedDate;
    }

答案 1 :(得分:1)

Allowed Date-Time format in SQLite

YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDDDDDDDD 
  

如何设置该日期字段的格式?

使用SimpleDateFormat以您指定的格式格式化现有的Date对象或Date String对象。

  我应该使用

变量,它是一个整数吗?或者只是一个字符串?

字符串

答案 2 :(得分:0)

您可以以秒(自1970年1月1日起)的数量的形式存储日期。 它可以以整数格式存储。为了以秒的形式获取日期,您可以使用getTimeInMillis()类的Calendar函数,它为您提供以毫秒为单位的时间并将其除以1000。

要以用户可读格式显示它,您可以根据您使用的数据库格式化该日期。 对于Sqlite,您可以使用strftime函数以所需格式检索日期。

http://www.w3resource.com/sqlite/sqlite-strftime.php