2017-06-05 4 views
-1

私は、データベースを使用するAndroidアプリケーションを開発しています。ユーザーが新しいレジスタを挿入するたびに、現在のデータと時刻がデータベースに保存されます。SimpleDateFormat.parse()を使用してCalendar.toString()を日付に変換するにはどうすればよいですか?

Calendar cal = Calendar.getInstance();

java.util.GregorianCalendar [時間= 1496007575129、areFieldsSet = trueを、寛大=真、ゾーン=アメリカ/ Mexico_City:

だから、私は、DBからデータを取得する場合には、このような文字列を得ました、DAY_OF_YEAR = 148、DAY_OF_WEEK = 1、DAY_OF_WEEK_IN_MONTH = 4、AM_PM = 1、HOURの4つのうちの1つである。 = 4、HOUR_OF_DAY = 16分= 39、秒= 35ミリ秒= 129、ZONE_OFFSET = -21600000、DST_OFFSET = 3600000]

IはSimpleDateFormat.pを使用してその文字列を変換しようとすると問題が来私はいつも同じ日付:09/04/2017を取得します。

これは私のRecViewAdapter.javaのコードです:

@Override 
public void onBindViewHolder(ViewHolder holder,int position){ 
    items.moveToPosition(position); 

    String s,d,p,f; 


    s = items.getString(ConsultaTomas.SISTOLICA); 
    holder.systolica.setText(s); 

    d = items.getString(ConsultaTomas.DIASTOLICA); 
    holder.diastolica.setText(d); 

    p = items.getString(ConsultaTomas.PULSO); 
    holder.pulso.setText(p); 

    f = items.getString(ConsultaTomas.FECHA); 
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 

    try { 
     holder.fecha.setText(sdf.format(sdf.parse(f))); 

    }catch (ParseException e){ 
     Log.d("PARSINGFECHA","Error al parcear fecha"); 
    } 


} 

他のデータはRecViewおよびカレンダ文字列に正しく示したされたが、すべてのdiferentなので、同じ日付/時間は、これらの文字列ではありません。したがって、質問は次のとおりです。

SimpleDateFormat.parse()を使用してCalendar.toString()を日付に変換する方法を教えてください。

これは、実際のデバイスでアプリケーションを実行した結果である: two muppets

答えて

1

あなたがで開始するgetTime()を呼び出し、必要に応じてそれをフォーマットし、あなたがCalendarを保存する方法を変更する必要があります。たとえば、

Calendar cal = Calendar.getInstance(); 
DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
System.out.println(sdf.format(cal.getTime())); 
+0

実際に私はcal.getTime()値をbdに保存しました。この値をアダプタでクエリが作成された日付に変換します。 –