ここにアンドロイド開発のための新しい私の疑問ですsqliteのテキストとしてdatetimeフィールドを保存しましたどのようにこれらのレコードの中で最大のdatetimeを取得する方法私はこれを達成することができますか?試みたが、ここで私は私がこれまでにしようとしているものを投稿してみましょう結果を得ていないのです。ここでsqlite androidで最大のDateTimeを取得するには?
はSqliteをクエリです:
public String DateTime(){
String str="";
Cursor cursor = db.query(CustomerModel.CustomerTable , new String [] {"MAX(" + CustomerModel.Customer_LastMofiedFlag +")"}, null, null, null, null, null);
if(cursor.moveToFirst()) { // to move the cursor to first record
int index = cursor.getColumnIndex(CustomerModel.Customer_LastMofiedFlag);
str = cursor.getString(index);
} mcontext.getContentResolver().notifyChange(DB_Timetracker, null);
return str;
}
は、テキスト形式で最大の日時を取得することが可能です日時を保存していますformat in yyyy-MM-dd HH:mm:ssどうすればこれを実現できますか?
日付をテキストとして保存しないでください。テキストの日付が不正確で問題が発生しやすいためです。最善の方法は、エポックタイム(https://en.wikipedia.org/wiki/Unix_time)である 'System.currentTimeMillis();'を使って 'long'として保存することです。数値を取得した後は、SQLliteで 'max/min'クエリを使用するのは簡単です。https://www.sqlite.org/lang_aggfunc.html – Budius
sqliteは長い形式をサポートしていますか? –
バイト、整数、または長時間の問題ではありません。それは多面的な神と全く同じです。 https://www.sqlite.org/datatype3.html(SQLliteの 'INTEGER'は任意のサイズの整数になります) – Budius