Converti data da SQLite

di il
9 risposte

Converti data da SQLite

Ciao, con una query, ricevo un valore "data"dalla tabella nel database SQLite, nel formato "YYYY-MM-DD". Ora vorrei convertire questo formato in modo da visualizzare la data nel formato getInstance(). Come posso fare?

private void Mto() {
    String id_ricevuto = (i.getStringExtra("id_p"));    

    SQLiteDatabase db = mHelper.getReadableDatabase();
    String tabella = "SELECT _id, date FROM Table1 WHERE _id = '"+id_ricevuto+"'";
    Cursor c = db.rawQuery(tabella, null);
    while (c.moveToNext()){
        String id = c.getString(0);
        String date = c.getString(1);
        
        idw.setText(id);
//prima di impostare la stringa alla tv voglio convertirla nel formato ottenuto da getInstance()
        mBtnPickDate.setText(date);


    }

    c.close();
    db.close();
}

9 Risposte

  • Re: Converti data da SQLite

    evans ha scritto:


    vorrei convertire questo formato in modo da visualizzare la data nel formato getInstance().
    Cosa intendi con "formato getInstance"?
  • Re: Converti data da SQLite

    Scusa la mia imprecisione. Ad esempio il DatePicker Dialog che utilizzo imposta il formato della data presa dalla classe calendario in base alla lingua impostata nel dispositivo. Quindi quando ricevo la data dal database vorrei impostarla nello stesso modo:
    DateFormat fmtDateAndTime=DateFormat.getDateInstance();  
    	  GregorianCalendar dateAndTime = (GregorianCalendar) GregorianCalendar.getInstance();
    questo è il mio datepickerdialog
    
    public void chooseDate(View v) {
        new DatePickerDialog(Inserisci_entrate_uscite.this, d,
                              dateAndTime.get(Calendar.YEAR),
                             dateAndTime.get(Calendar.MONTH),
                              dateAndTime.get(Calendar.DAY_OF_MONTH))
          .show();
      }
      
      private void updateLabel() {
    	mBtnPickDate.setText(fmtDateAndTime.format(dateAndTime.getTime()));    
    	
      }
      DatePickerDialog.OnDateSetListener d=new DatePickerDialog.OnDateSetListener() {
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
        	dateAndTime.set(Calendar.YEAR, year);
          dateAndTime.set(Calendar.MONTH, monthOfYear);
          dateAndTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);
          updateLabel();
        }
      };
    
  • Re: Converti data da SQLite

    Se ho capito allora il codice che ti serve è questo:
    
    String s = "2010-11-09";
        	
        	SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd");
        	SimpleDateFormat output = new SimpleDateFormat();
        	try {
    			Date data = inputFormat.parse(s);
    			Log.d("TAG", output.format(data));
    		} catch (ParseException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    
  • Re: Converti data da SQLite

    Si, ma così mi ritorna una data del tipo: Sat Jun 07 00:00:00 CEST 2014
  • Re: Converti data da SQLite

    Si scusa, al posto di "output" devi usare "fmtDateAndTime"
  • Re: Converti data da SQLite

    Certo, hai ragione
    tv.setText(fmtDateAndTime.format(data));
    solo che mi segna anche l'ora, e io non la voglio vedere.
  • Re: Converti data da SQLite

    Così risolvi:
    
    String s = "2010-11-09";
    SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd");
    java.text.DateFormat output = android.text.format.DateFormat.getDateFormat(this);
    
    try {
    	Date d = inputFormat.parse(s);
    	textView.setText(output.format(d));
    } catch (ParseException e) {
    	e.printStackTrace();
    }
    
  • Re: Converti data da SQLite

    Grazie mille
  • Re: Converti data da SQLite

    Tutta colpa delle classi omonime
Devi accedere o registrarti per scrivere nel forum
9 risposte