来自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);
        }
    }