我的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()函数,似乎我需要以另一种方式获取值)
答案 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));