Calendar↔Stringを相互に変換
SQLiteDatabaseでは日付に関するオブジェクトはそのまま格納できない
→ TEXT = String型で格納する
→ どうやって変換するの?
というのが、下記のコード
ポイント
- SimpleDateFormatを使って変換する
- ミリ秒までformatしないと、情報が失われるので注意
- Calendar.MONTHは0-11だけど、そこらへんは考えなくてok
package com.example.orisa.mycal1; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends AppCompatActivity { //部品の変数 TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //部品の取得 tv = (TextView)findViewById(R.id.tv); Calendar cal1 = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss:SSS"); String str1 = sdf.format(cal1.getTime()); Calendar cal2 = Calendar.getInstance(); try{ cal2.setTime(sdf.parse(str1)); if(cal1.equals(cal2)){ tv.setText("true"); } else { tv.setText("false"); } }catch (ParseException e){ tv.setText("exception"); } } }