在 SQLite 数据库中存储时间字段可以使用以下代码:

// 创建表格
String createTableQuery = 'CREATE TABLE IF NOT EXISTS MyTable (id INTEGER PRIMARY KEY AUTOINCREMENT, time DATETIME)';
db.execSQL(createTableQuery);

// 插入时间数据
SimpleDateFormat dateFormat = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss');
String currentTime = dateFormat.format(new Date());
String insertQuery = 'INSERT INTO MyTable (time) VALUES ('' + currentTime + '')';
db.execSQL(insertQuery);

要计算剩余时间,可以使用以下代码:

// 查询时间数据
String selectQuery = 'SELECT time FROM MyTable WHERE id = 1'; // 假设数据存储在id为1的行
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
    String storedTime = cursor.getString(cursor.getColumnIndex('time'));
    cursor.close();

    // 计算剩余时间
    Date storedDate = dateFormat.parse(storedTime);
    Date currentDate = new Date();
    long remainingTimeMillis = storedDate.getTime() - currentDate.getTime();

    // 转换为可读的剩余时间格式,如:1天 2小时 30分钟
    long days = TimeUnit.MILLISECONDS.toDays(remainingTimeMillis);
    remainingTimeMillis -= TimeUnit.DAYS.toMillis(days);
    long hours = TimeUnit.MILLISECONDS.toHours(remainingTimeMillis);
    remainingTimeMillis -= TimeUnit.HOURS.toMillis(hours);
    long minutes = TimeUnit.MILLISECONDS.toMinutes(remainingTimeMillis);
    remainingTimeMillis -= TimeUnit.MINUTES.toMillis(minutes);
    long seconds = TimeUnit.MILLISECONDS.toSeconds(remainingTimeMillis);

    String remainingTime = days + '天 ' + hours + '小时 ' + minutes + '分钟 ' + seconds + '秒';
    Log.d('Remaining Time', remainingTime);
}

请注意,上述代码假设数据库中只有一行数据存储时间字段,并且该行的id为1。您可以根据自己的数据表结构进行相应的修改。


原文地址: https://www.cveoy.top/t/topic/o9O3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录