1

我将时间选择器中的时间存储在数据库中单独的“时间”列中。

目前我正在使用以下方法从选择器接收和存储所选时间:

setTime = (TimePicker) findViewById(R.id.timePicker1);


Integer dobHour = setTime.getCurrentHour();
Integer dobMinute = setTime.getCurrentMinute();

Time timeToSet = new Time();
timeToSet.set(0, dobMinute, dobHour);

带有 insert 方法的数据库助手对象:

DBHandlerApp createApp = new DBHandlerApp(this, null, null);
    createApp.open();
    createApp.createAppointmentEntry(nameToSet, typeToSet, timeToSet, setDate, comToSet, alarmToSet);

DB helper 类中的方法:

    public void createAppointmentEntry(String nameApp, String typeApp, Time timeApp, Date dateApp ,String commentApp, Boolean onOrOff) {



        ContentValues cv = new ContentValues();
        cv.put(KEY_NAMEAPP, nameApp);
        cv.put(KEY_TYPEAPP, typeApp);
        cv.put(KEY_TIMEAPP, timeApp.toString());
        cv.put(KEY_DATEAPP, dateApp.toString());
        cv.put(KEY_COMMENTAPP, commentApp);
        cv.put(KEY_ALARM, onOrOff);
        ourDatabase.insert(DATABASE_TABLEAPP, null, cv);

在我的应用程序中,以下输出显示了日期的存储方式:

显然这个时间格式不正确。有人可以指出我将其设置为实际时间格式的正确方向吗?

应用程序

4

2 回答 2

1

尽管 Guilherme 的回答有效,但我想说您也可以使用Time#format()方法来实现正确的时间格式。您将 String 传递给格式化为 strftimeformat()规范的方法(例如) 。"%x%X"

例如

cv.put(KEY_TIMEAPP, timeApp.format("%x%X"));

这只是默认的特定于语言环境的表示,如果您想要一致的时间格式,您可以将其设置为基本上任何内容。

于 2013-01-22T16:18:10.690 回答
0

用这个:

 public static String getDate() {
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
        String date = dateFormat.format(new Date(System.currentTimeMillis()));
        return date;
    }
于 2013-01-22T16:05:57.953 回答