私のSqliteデータベースでは、データ型DATEに日付を保存しました。カーソルからこの日付を取得するにはどうすればよいですか?アンドロイドのSqliteデータベースから日付を取得する
答えて
SQLiteは、ISO8601の日付/時刻形式を使用して、現在の時刻を表す文字列をUTC(GMT)で保存します。この形式(YYYY-MM-DD HH:MM:SS)は、日付/時刻の比較に適しています。
次のコードを使用して日付を取得します。
Cursor row = databaseHelper.query(true, TABLE_NAME, new String[] {
COLUMN_INDEX}, ID_COLUMN_INDEX + "=" + rowId,
null, null, null, null, null);
String dateTime = row.getString(row.getColumnIndexOrThrow(COLUMN_INDEX));
これは、文字列を返し、それを解析し、ローカル形式と時間帯に再フォーマット:
DateFormat iso8601Format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
date = iso8601Format.parse(dateTime);
} catch (ParseException e) {
Log.e(TAG, "Parsing ISO8601 datetime failed", e);
}
long when = date.getTime();
int flags = 0;
flags |= android.text.format.DateUtils.FORMAT_SHOW_TIME;
flags |= android.text.format.DateUtils.FORMAT_SHOW_DATE;
flags |= android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
flags |= android.text.format.DateUtils.FORMAT_SHOW_YEAR;
String finalDateTime = android.text.format.DateUtils.formatDateTime(context,
when + TimeZone.getDefault().getOffset(when), flags);
が、これはあなたを助けることを願っています。
このコードは
String s= cursor.getString(position);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date d=new Date();
try {
d= dateFormat.parse(s);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
YourObject.setDate(d);
という完璧なコードですが、要件に応じて表示するように変更する必要があります。例:** textView **を追加する日付。 ** textview.setText(dateformate.formate(d))** –
の作品SQLiteは本当に(DATE
キーワードはちょうどDatatypes In SQLite Version 3ごとに、カラムはNUMERIC
親和性を有することを意味する)DATE
タイプを持っていないので、どのようにするための規約を選択するのはあなた次第ですあなたは日付を保存します。一般的な規則は、(a)ユリウスの日付を格納するために実数を使用するか、(b)Unixエポックを格納するために整数値を使用する(1970年以降、SQLiteの日時関数が 'unixepoch'引数でDate And Time Functionsに対応する)。あなたはUnixエポックとして保存日数をやっている場合は
、その後、long
としてSQLiteのDATE
フィールドを読み、そのミリ秒相当を渡す(Date
オブジェクトに.getTime()
を呼び出すので、Androidのための便利では1970年以降のミリ秒数を返します) java.util.Date
コンストラクタDate(long milliseconds)
に入力します。したがって、次のようになります。
SQLiteManager dbManager = new SQLiteManager(context, DB_NAME, null, VERSION);
SQLiteDatabase db = dbManager.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME,
new String[] { COLUMN_NAME_ID, COLUMN_NAME_DATE },
null, null, // selection, selectionArgs
null, null, null, null); // groupBy, having, orderBy, limit
try {
while(cursor.moveNext()) {
int id = cursor.getInt(0);
// Read the SQLite DATE as a long and construct a Java Date with it.
Date date = new Date(cursor.getLong(1)*1000);
// ...
}
} finally {
cursor.close();
db.close();
}
これは、SQLiteとAndroidで日付を使用するための私の好む方法です。 – Flash
ニースしかし、私は少し混乱しています..この場合のSQLiteのフィールドのタイプはDATETIMEまたはINTまたはDATEでなければなりませんか? –
- 1. アンドロイドからローカルsqliteデータベースを取得
- 2. 日付でアンドロイドのSQLiteデータベースからの情報を照会
- 3. アンドロイドの日付を使用してデータベース(Sqlite)から値を取得する方法は?
- 4. データベースから日付を取得
- 5. 今日の日付のデータベースからデータを取得する
- 6. sqliteからテキストを日付順に取得する方法
- 7. SQLiteデータベースから値を取得する
- 8. データベースからグレゴリオの日付のアラビア語の日付を取得するSqlクエリ
- 9. DateTimePickerから日付を取得してデータベースからデータを取得する
- 10. アンドロイド - SQLiteのレルム日の日付が
- 11. データベースから炭素の日付を取得する
- 12. PHPのデータベースから日付カラムを取得する
- 13. sqlite添付データベースの名前を取得
- 14. Microsoft Accessデータベースから日付/時刻値を取得する
- 15. データベースからデータ型日付を取得するには?
- 16. CSVからインポートする日付を取得する日付を取得する
- 17. データベースからすべての日付を取得
- 18. SQLiteデータベースから値を取得Android
- 19. 今日の日付に基づいてデータベースからデータを取得する
- 20. 特定の日付から日付、月、年を取得する
- 21. 日付からエポックタイムを取得する
- 22. データベースからjdatechooserに日付の値を取得
- 23. getTime()からの日時の取得mySQLデータベースの日付を表示する日付のタイプ
- 24. アンドロイド:データベースと日付を比較する
- 25. Mysqlはデータベースの日付から前の4月1日を取得します
- 26. iPhone:日付ピッカーから日付を取得する
- 27. Github API v3:日付から日付を取得する
- 28. OnDateSetListenerから日付に日付を取得する方法
- 29. SqLiteデータベースにdatepickerを使ってアンドロイドで日付を挿入するには
- 30. sqliteの日付の差異を取得する
こんにちはNagaraj436私は列の日付にデータ型DATEを使用しています。だから私はcursor.getStringを使用することはできません –
@DeepakKataria getString()を使ってみましたか?それを使って何かエラーがありましたか? – TNR
日付のデータ型を文字列として使用すると、u.iは同じことを行うのに役立ちます。 @ Nagaraj436が言ったように、彼が言及したフォームや他のフォームでも日付を解析するのに役立ちます.. cursor.getString()。toString()を利用してください。 – sankettt