不能设置beetwen时间(android)

时间:2015-08-28 09:58:03

标签: java android time

抱歉我的英文。我需要在00:00:00到06:00:00之间设置时间,但我的代码不起作用。我正在使用joda库。我的下面的方法不起作用,我可以设置时间14:00或另一个,而不是beetwen 00:00和6:00。我做错了什么?

public void setTime(final TextView setText) {
        String dateStart = "00:00:00";
        String dateStop = "06:00:00";
        SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");

        Date d1 = null;
        Date d2 = null;

        try {
            d1 = format.parse(dateStart);
            d2 = format.parse(dateStop);

            DateTime dt1 = new DateTime(d1);
            DateTime dt2 = new DateTime(d2);

            int mHour = Hours.hoursBetween(dt1, dt2).getHours() % 24;
            int mMinute = Minutes.minutesBetween(dt1, dt2).getMinutes() % 60;

            TimePickerDialog tpd = new TimePickerDialog(context,
                    new TimePickerDialog.OnTimeSetListener() {

                        @Override
                        public void onTimeSet(TimePicker view, int hourOfDay,
                                              int minute) {

                            setText.setText(String.valueOf(hourOfDay) + ":" + String.valueOf(minute));
                        }

                    }, mHour, mMinute, true);
            tpd.show();
        }catch(Exception e) {
            Toast.makeText(getApplicationContext(), "Cant open time, sorry", Toast.LENGTH_SHORT).show();
            Log.e("Time error", e.toString());
        }
    }

1 个答案:

答案 0 :(得分:0)

使用mHour和mMinute查看here,您将在6:00:00之前的几小时内从DatePicker中删除;从这里链接复制是问题:

public TimePickerDialog (Context context, int themeResId, 
TimePickerDialog.OnTimeSetListener listener, int hourOfDay, int
minute, boolean is24HourView)
  

在API级别1中添加使用。创建新的时间选择器对话框   指定的主题。

     

参数:

     
      
  • 上下文父上下文
  •   
  • themeResId要应用于此对话框的主题的资源ID
  •   
  • 侦听器在设置时间时调用侦听器
  •   
  • hourOfDay the initial hour
  •   
  • 分钟初始分钟
  •   
  • is24HourView无论是24小时视图还是上午/下午。
  •   

这里是,如果你想要你的选择器中的所有小时和分钟,请留下t 0和0

编辑:

如果您只想在0到6之间设置时间,请查看this post