2017-03-23 6 views
-1

05:05 amのような形式で時間を表示し、sqliteデータベースに保存します。 db形式で保存する方法と時刻形式を変更する方法を教えてください。ここで時刻を05:05 amのような形式で表示し、sqliteデータベースに保存します

は私のコードです:

edittime.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View 
    final Calendar mcurrentTime = Calendar.getInstance(); 
    final int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY); 
    int minute = mcurrentTime.get(Calendar.MINUTE); 
    TimePickerDialog mTimePicker; 

    mTimePicker = new TimePickerDialog(CreatNotes.this, new TimePickerDialog. 
     @Override 
     public void onTimeSet(TimePicker timePicker, int hours, int minutes) { 
      String AM_PM = " AM"; 
      String mm_precede = ""; 
      if (hours >= 12) { 
       AM_PM = " PM"; 
       if (hours >=13 && hours < 24) { 
       hours -= 12; 
       } 
       else { 
       hours = 12; 
       } 
      } else if (hours == 0) { 
       hours = 12; 
      } 
      if (minutes < 10) { 
       mm_precede = " 
         edittime.setText(hours + ":" + minutes +" "+ AM_PM); 
         } 
        }, hour, minute, 
        mTimePicker. 
       } 
      }); 
+0

あなたはAM/PM形式で文字列を格納することはありません..あなたの代わりにミリ秒単位の時間を保存する必要があり、ミリ秒単位の時間が、それは、日付/時間のベースであるように、より汎用性があります。 – JoxTraex

答えて

2

あなたはデシベル形式(UNIXタイムスタンプ)に日付を格納し、それをあなたがデシベルからそれを取得するとき、あなたが望むようにフォーマットする必要があります。ここ

+0

sqliteデータベースの時刻を入力する方法 –

0
long inputTime; 
Calendar mCalendar; 
mCalendar = Calendar.getInstance(); 

// TimePickerDialog

new TimePickerDialog(SearchActivity.this, onTimeSetListener, 
    mCalendar.get(Calendar.HOUR_OF_DAY), mCalendar.get(Calendar.MINUTE), false).show(); 


onTimeSetListener = new TimePickerDialog.OnTimeSetListener() { 
     @Override 
     public void onTimeSet(TimePicker timePicker, int hour, int min) { 
      Calendar c = Calendar.getInstance(); 
      c.set(Calendar.HOUR_OF_DAY, hour); 
      c.set(Calendar.MINUTE, min); 
      inputTime = c.getTime().getTime(); 
     } 
    }; 

// long値としてごデシベルで、このinputTimeを保存しています。

フォーマット変換後のDBから読み出さ

public static String getFormattedTime(long milliSeconds, String dateFormat) { 
// Create a DateFormatter object for displaying date in specified format. 
SimpleDateFormat formatter = new SimpleDateFormat(dateFormat); 

// Create a calendar object that will convert the date and time value in milliseconds to date. 
Calendar calendar = Calendar.getInstance(); 
calendar.setTimeInMillis(milliSeconds); 
return formatter.format(calendar.getTime()); 
} 

//ため//ユーティリティメソッド、時間をフォーマット取得するgetFormattedTime()メソッドに長い値(inputTime)を渡します。

String formatedTime = getFormattedTime(inputTime, Constants.TIME_12_HOUR_FORMAT); 
+0

タイムピッカーダイアログを使用してデータベースに時間を挿入したい –

+0

タイムピッカーダイアログで、TimePickerDialog.OnTimeSetListener()内で受信する時刻を入力します。 この行を使用すると、inputTime = c.getTime()。getTime(); 。 "inputTime"は長い値です。それをデータベースに保存することができます。 –

関連する問題