0

Android プログラムに次のコードがあります。

Cursor cursor = db.rawQuery("select ID,firstname,date(birthday) from user", null);  
String birthdaystr=cursor.getString(2);

しかし、birthstr の値は null です。

コードを次のように変更しました。

Cursor cursor = db.rawQuery("select ID,firstname,birthday from user", null);  
String birthdaystr=cursor.getString(2);

birthdaystr の値は、「1973 年 1 月 10 日水曜日 00:00:00 +0000」のようになります。

誰もこの問題を知っていますか?(date()関数を使う場合は別の方法で値を取得する必要があるようです)

4

3 に答える 3

1

関数を使用strftimeして、フォーマットされた日付を取得します。

strftime(" + "\"%Y" + "-" + "%m" + "-" + "%d\"" + ",birthday)

または使用

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String formatted = sdf.format(new Date(birthdaystr));

任意の日付形式を適用できます。

于 2012-08-07T12:48:50.287 に答える
0

試してはいけない理由:

Cursor cursor = db.rawQuery("select ID,firstname,birthday from user", null);  
String birthdaystr=cursor.getString(2);
SimpleDateFormat sdf = new SimpleDateFormat("HH:m:ss dd-MM-yyyy");
String TimeStampDB = sdf.format(new Date(birthdaystr)); 
于 2012-08-07T12:52:55.560 に答える
0

試す:

....
Cursor cursor = db.rawQuery("select ID,firstname,birthday from user", null);  
String birthdaystr=cursor.getString(2);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String formatted = sdf.format(new Date(birthdaystr));
..... 
于 2012-08-07T12:49:43.550 に答える