如何设置24小时格式的TimePicker显示

我已经在布局中创build了一个TimePicker,我希望它用24h格式显示时间。

你可以帮我吗? 谢谢。

TimePicker是以24小时或AM / PM模式select一天中的时间的视图。 您可以使用TimePicker使用setIs24HourView(true)方法。

TimePicker默认设置为24小时模式并不总是一个好主意,因为许多国家有不同的惯例。 在这种情况下使用DateFormat.is24HourFormat(getActivity())

你最后的代码迁移看起来像picker.setIs24HourView(DateFormat.is24HourFormat(this));

更多细节请参阅:

如果您希望TimePicker以24小时格式的当前时间正确初始化,请使用以下命令:

 import java.util.Calendar; timePicker.setIs24HourView(true); timePicker.setCurrentHour(Calendar.getInstance().get(Calendar.HOUR_OF_DAY)); 

否则,由于Android的错误,select器将以不正确的小时(2而不是14等)开始。

您只需在膨胀之后从视图中检索TimePicker实例,然后就可以修改该小部件。

Ids是任意的:

 View v=getActivity().getLayoutInflater().inflate(R.layout.dialog_time, null); TimePicker timePicker=(TimePicker)v.findViewById(R.id.dialog_time_timePicker); timePicker.setIs24HourView(true); 

XML

 <TimePicker android:layout_width="300dp" android:layout_height="300dp" android:id="@+id/timePicker" /> 

java的

 TimePicker timePicker = (TimePicker) findViewById(R.id.timePicker); timePicker.setIs24HourView(true); 

默认情况下,它以AM / PM格式显示时间。 如果您想以24小时格式更改时间,则可以使用setIs24HourView()方法。 看到这个链接: http : //www.androidaspect.com/2012/06/timepicker-view-tutorial.html

你只需要调用setIs24HourView函数即可。

 TimePicker tpHourMin = (TimePicker) findViewById(R.id.timePicker); tpHourMin.setIs24HourView(true); 

正如有些人已经提到,只是将参数设置为true或false。

timePicker.setIs24HourView(真);

你可以从这里find一个完整的源代码示例http://www.ahotbrew.com/android-timepicker-example/

我只需要一个应用程序来设置执行任务的持续时间花费。 我发现我只需要扩展TimePickerDialog类,并在最后一个构造函数参数boolean is24HourView中传递True。

 public class DurationPickerDialog extends TimePickerDialog { public DurationPickerDialog(Context context, TimePickerDialog.OnTimeSetListener callBack, int hourOfDay, int minute){ super(context, callBack, hourOfDay, minute, true); } 

那么你只需要创build这个

 TimePickerDialog durationPicker = new DurationPickerDialog(getActivity(), this, hour, minute); durationPicker.setTitle("Duration:");