2016-04-22 10 views
0

をもたらし、しかし時間が現在16:05であると私はtimePickerから16:10を選択した場合、それは12 hours and 5 minutes代わりの5 minutesを言います。 AMPMを簡単に交換するにはどうすればよいですか?またtimePicker AMとPMを入れ替えて、私はセットアップ<code>timePicker</code><code>24 hour</code>などのモードを持つ負の分の数

私はcurrent minutesより小さいminutesと同じhourを選択した場合、私はそのような12 hours and -4 minutesとして出力を持つことになります。

コード:

public void onClickAlarmOn(View v) { 

    final Calendar c = Calendar.getInstance(); 
    TimePicker alarm_time_picker = (TimePicker) findViewById(R.id.timePicker); //initializing timePicker before using it //http://stackoverflow.com/questions/25485768/why-does-my-app-keep-crashing-when-i-try-to-insert-a-date-and-time-picker 
    int hour = alarm_time_picker.getCurrentHour(); //get selected hour 
    int minute = alarm_time_picker.getCurrentMinute(); //get selected minute 

    int hour_now = c.get(Calendar.HOUR); //get system's hour 
    int minute_now = c.get(Calendar.MINUTE); //get system's minute 

    int hour_result = hour - hour_now; //subtract the time selected by time.now of system 
    int minute_result = minute - minute_now; 

    String hour_result_string = String.valueOf(hour_result); //convert to string to display 
    String minute_result_string = String.valueOf(minute_result); 

    setToast_result("Alarm set to " + hour_result_string + " hours " + minute_result_string + " minutes"); 
} 

ありがとう!

+0

これはC#またはjavaですか?それは両方のことができないのですか? – user1666620

+0

@ user1666620申し訳ありませんが、それを修正しました。 – hurkaperpa

答えて

0

24時間制を使用している場合は、12時間の時計に基づくCalendar.HOURではなく、CalendarインスタンスからCalendar.HOUR_OF_DAYを取得します。

int hour_now = c.get(Calendar.HOUR_OF_DAY); 
関連する問題