如何在我的android代码中检索sqlite中的格式化日期字段?

时间:2012-08-07 12:31:35

标签: android sqlite date

我的android程序中有以下代码:

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

但birthdaystr的值为null。

我将代码更改为:

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

birthdaystr的值看起来像“Wed Jan 10 00:00:00 +0000 1973”。

有人知道这个问题吗? (如果我使用date()函数,似乎我需要以另一种方式获取值)

3 个答案:

答案 0 :(得分:1)

使用strftime功能检索格式化日期。

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

或使用

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

您可以根据需要应用任何日期格式。

答案 1 :(得分: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));
..... 

答案 2 :(得分: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));