来自SqlLite的Android日期取决于GMT
在安卓系统中,我使用来自SqlLite的Android日期取决于GMT,android,Android,在安卓系统中,我使用SqlLite和MyDate行类似DATETIME默认当前时间戳。但当我阅读date时,我会将日期返回一小时,因为我在android环境中使用了GMT+1 MyDate: 12:03 Android date: 13:03 从SqlLite读取时,如何将其转换为GMT+X,取决于android环境 编辑: 代码: 我想,首先您应该将检索到的数据存储在带有UCT时区的时间戳中,然后根据mobilephone中的一个时区更新当前时区 String s = "2013-02-1
SqlLite
和MyDate
行类似DATETIME默认当前时间戳。但当我阅读date时,我会将日期返回一小时,因为我在android环境中使用了GMT+1
MyDate: 12:03
Android date: 13:03
从SqlLite
读取时,如何将其转换为GMT+X
,取决于android环境
编辑:
代码:
我想,首先您应该将检索到的数据存储在带有UCT时区的时间戳中,然后根据mobilephone中的一个时区更新当前时区
String s = "2013-02-11 12:03:00";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
df.setTimeZone(TimeZone.getTimeZone("UCT"));
Date timestamp = null;
try {
timestamp = df.parse(s);
df.setTimeZone(TimeZone.getDefault());
} catch (ParseException e) {
e.printStackTrace();
}
您需要在方法bindView中计算您的日期
@Override
public void bindView(View v, Context context, Cursor c) {
String date;
date= c.getString(c.getColumnIndex(LogsDao.KEY_CREATED));
//implement change of timezone
TextView date_text = (TextView) v.findViewById(R.id.date);
if (date_text != null) {
date_text.setText(date);
}
}
非常感谢。我更新了我的问题,因为我不知道如何在SimpleCursorAdapter中使用此代码。您需要实现自定义cursorAdapter
@Override
public void bindView(View v, Context context, Cursor c) {
String date;
date= c.getString(c.getColumnIndex(LogsDao.KEY_CREATED));
//implement change of timezone
TextView date_text = (TextView) v.findViewById(R.id.date);
if (date_text != null) {
date_text.setText(date);
}
}