Android 在sqlite中使用小时

Android 在sqlite中使用小时,android,database,sqlite,Android,Database,Sqlite,在SQLite中创建表时,我可以使用,例如,“day DATE”。但是如果我想要一个小时,我可以用“小时时间”吗? 在我的Java类中,我有: private Time hour 及 在数据库中,我使用了“小时日期”。 我只想把它保存在数据库里。 好的,下面是完整的代码(我想可能会有帮助): 日期和时间函数使用IS0-8601日期和时间格式的子集 函数的作用是:将时间返回为HH:MM:SS 函数的作用是:返回格式为YYYY-MM-DD的日期 函数的作用是:返回“YYYY-MM-DD HH:MM

在SQLite中创建表时,我可以使用,例如,“day DATE”。但是如果我想要一个小时,我可以用“小时时间”吗? 在我的Java类中,我有:

private Time hour

在数据库中,我使用了“小时日期”。 我只想把它保存在数据库里。 好的,下面是完整的代码(我想可能会有帮助):


日期和时间函数使用IS0-8601日期和时间格式的子集

函数的作用是:将时间返回为HH:MM:SS

函数的作用是:返回格式为YYYY-MM-DD的日期

函数的作用是:返回“YYYY-MM-DD HH:MM:SS”

基于此:

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
Date date = new Date(hour.getTime());
String databaseValue = sdf.format(date);

ContentValues values = new ContentValues();
values.put("hour", databaseValue);

SQLite没有任何内置的日期/时间格式;这样的价值观

您可以简单地将小时值存储为一个数字,并且由于SQLite的原因,您可以随意调用列类型。 但是,这个数字只是一个数字,您必须自己完成从/到完成时间戳的任何转换

private DatabaseHelper helper;

private int hour, minute;
private Button hourButton;


private Date hour;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.encontro);

    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);

    Calendar calendar = Calendar.getInstance()

    hour = calendar.get(Calendar.HOUR_OF_DAY);
    minutw = calendar.get(Calendar.MINUTE);

    hourButton = (Button) findViewById(R.id.hour);
    horarioCombinadoButton.setText(hour + ":" + minute);

    helper = new DatabaseHelper(this);
}

public void selectHour(View view) {
    showDialog(view.getId());
}

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {

    case R.id.hour:
        return new TimePickerDialog(this, hourListener, hour, minute, true);    
    }

    return null;
}

private OnTimeSetListener hourListener = new OnTimeSetListener() {
    public void onTimeSet(TimePicker view, int hourSelected, int minuteSelected) {
        hour = hourSelected;
        minute = minuteSelected;

        hourButton.setText(hour + ":" + minute);
    }
};

public void salveHour(View view) {
    SQLiteDatabase db = helper.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put("hour", hour.getTime());

    long result = db.insert("selito", null, values);

    if (result != -1) {
        Toast.makeText(this, getString(R.string.save), Toast.LENGTH_SHORT).show();
    } else {
        Toast.makeText(this, getString(R.string.error), Toast.LENGTH_SHORT).show();
    }
}

@Override
protected void onDestroy() {
    helper.close();
    super.onDestroy();
}
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
Date date = new Date(hour.getTime());
String databaseValue = sdf.format(date);

ContentValues values = new ContentValues();
values.put("hour", databaseValue);