android - 我得到的时间比时间选择器的当前时间早 12 小时

标签 android android-timepicker

我已经为时间选择器编写了代码。我的当前时间选择器显示的时间比实际当前时间少 12 小时。你们中的任何一个人都可以让我知道我在这里错过了什么。欢迎所有建议。提前致谢。

我的时间选择器代码:

public void showTimePicker() {

        TimePickerFragment time1 = new TimePickerFragment();

        /**
         * Set Up Current Time Into dialog
         */

        Calendar calendar = Calendar.getInstance();
        Bundle args = new Bundle();
        args.putInt("Hour", calendar.get(Calendar.HOUR));
        args.putInt("Minute", calendar.get(Calendar.MINUTE));

        time1.setArguments(args);
        /**
         * Set Call back to capture selected time
         */
        time1.setCallBack(onTime);
        time1.show(getFragmentManager(), "Time Picker");


    }

    TimePickerDialog.OnTimeSetListener onTime = new TimePickerDialog.OnTimeSetListener() {


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


            time.setText(String.valueOf(hourOfDay) + ":" + String.valueOf(minute));
            timeValue1 = time.getText().toString();


        }
    };

我的时间选择器 fragment :

public class TimePickerFragment extends DialogFragment {


    TimePickerDialog.OnTimeSetListener onTimeSet;


    public TimePickerFragment() {

    }

    public void setCallBack(TimePickerDialog.OnTimeSetListener onTime) {

        onTimeSet = onTime;


    }

 public int hour, minute;


    @Override
    public void setArguments(Bundle args) {
        super.setArguments(args);
        hour = args.getInt("Hour");
        minute = args.getInt("Minute");

    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        return new TimePickerDialog(getActivity(), onTimeSet, hour, minute, true);
    }

}

如果您需要更多详细信息,请告诉我。

最佳答案

您正在使用 Calendar.get(Calendar.HOUR),其定义如下:

HOUR Field number for get and set indicating the hour of the morning or afternoon.

我认为您需要使用 Calendar.HOUR_OF_DAY,然后 TimePicker 将处理上午/下午(我假设)。

目前,14:00(下午 2:00)的时间将返回 2 作为小时,因此您失去了下午/下午。

关于android - 我得到的时间比时间选择器的当前时间早 12 小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29073103/

相关文章:

android - 如何比较android中的开始时间和结束时间?

java - 从 2 个 TimePicker 获取值并进行比较

android - 在 Android 中,您可以设置默认应用程序,而不是在启动新 Activity 时要求用户从列表中进行选择吗?

android - ViewModel 观察到每个回 fragment

java - 如何使应用程序无法关闭?

javascript - 如何更改默认配色方案 timepicker 对话框 fragment ?

如果用户无法触摸或使用设备,Android 会在 x 时间后自动启动应用程序

android - API 15 中的 TimePicker getHours()、getMinutes

Android:Google Playstore 的公测

android:Theme.Material.Light 需要 API 级别 21(当前最低为 8)