我将时间选择器中的时间存储在数据库的单独“时间”列中。
目前我正在使用以下接收和存储选择器中所选时间的方法:
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);
在我的应用中,以下输出显示了日期的存储方式:
显然这种时间格式不正确。有人能指出我将其设置为实际时间格式的正确方向。
答案 0 :(得分:1)
虽然Guilherme的答案有效,但我会说你也可以使用Time#format()方法来正确格式化你的时间。您将字符串传递给format()
方法(例如"%x%X"
)格式化为规范
strftime。
例如
cv.put(KEY_TIMEAPP, timeApp.format("%x%X"));
这只是一个默认的特定于语言环境的表示,如果你想要一致的时间格式,你可以将它设置为基本任何东西。
答案 1 :(得分: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;
}