我有个应用“发现自我之记忆力”在向数据库插入游戏成绩时,同时记录了游戏的时间,使用了方法:
public void addScore(String nickname,float score,String status){
SQLiteDatabase db = this.getWritableDatabase();
String sql = "INSERT INTO scores(test_datetime,nickname,score,status)"+
" VALUES(datetime('now','localtime'),?,?,?)";
Object[] bindArgs = new Object[]{nickname,score,status};
try{
db.execSQL(sql,bindArgs);
}catch(SQLException e){
Log.e("wang",e.toString());
}
}
MM测试没通过,说总是差8个小时,发现(datetime('now')错了,应该是datetime('now','localtime')这样才记录手机的本地时间,不然记录的是手机的格林威治时间。
总结:
1、在使用模拟机是,一定要更改时区,有问题会及时发现。
2、自己测试要仔细些。
|