根据设备时间在timepicker中设置默认时间

时间:2013-12-18 06:33:01

标签: android datepicker timepicker

我有一个24小时格式的时间戳。现在我想以24小时格式显示当前设备时间,而不管设备时间格式如何。现在我的设备是12小时格式,所以例如我的时间是下午2:04,时间戳应该是14:04。

这是我的代码或时间戳。它在不同的布局上,因为我在对话框中显示它们。

XML:

<LinearLayout android:id="@+id/datetimepickerLayout" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" xmlns:android="http://schemas.android.com/apk/res/android">
<DatePicker android:id="@+id/datePicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"></DatePicker>
<TimePicker android:id="@+id/timePicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"></TimePicker>

<Button
android:id="@+id/setdatetimeBtn1"
android:text="Set"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_gravity="center"/>

现在在我的java代码中:

timePicker1 = (TimePicker)dialog.findViewById(R.id.timePicker1);
datePicker1 = (DatePicker)dialog.findViewById(R.id.datePicker1);
setDateTimeBtn1 = (Button)dialog.findViewById(R.id.setdatetimeBtn1);
datePicker1.setCalendarViewShown(false);
timePicker1.setIs24HourView(true);

有什么想法吗?谢谢!

4 个答案:

答案 0 :(得分:2)

AFAIK默认情况下会使用设备当前时间,您可以使用以下代码进行设置。

Calendar c = Calendar.getInstance();
timePicker1.setCurrentHour(c.get(Calendar.HOUR));
timePicker1.setCurrentMinute(c.get(Calendar.MINUTE));

答案 1 :(得分:0)

您可以使用以下日历实例获取设备时间:

Calendar c = Calendar.getInstance();

String CTime =c.get(Calendar.HOUR) + ":" + c.get(Calendar.MINUTE) +  ":" + c.get(Calendar.SECOND);

答案 2 :(得分:0)

试试。

 timePicker1 = (TimePicker)dialog.findViewById(R.id.timePicker1);
 datePicker1 = (DatePicker)dialog.findViewById(R.id.datePicker1);
 setDateTimeBtn1 = (Button)dialog.findViewById(R.id.setdatetimeBtn1);
    setDateTimeBtn1 .setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            String strDateTime = datePicker1 .getYear() + "-" + (datePicker1 .getMonth() + 1) + "-" + datePicker1 .getDayOfMonth() + " "
       + timePicker1 .getCurrentHour() + ":" + timePicker1.getCurrentMinute();

            Toast.makeText(TimeDate.this, "User selected " + strDateTime + "Time", Toast.LENGTH_LONG).show(); //Generate a toast only if you want 
            finish();   // If you want to continue on that TimeDateActivity
             // If you want to go to new activity that code you can also write here
        }});

答案 3 :(得分:0)

@Everyone尝试过上面提到的解决方案并且他们没有工作你必须使用

Calender.HOUR_OF_DAY

而不是

Calender.HOUR

今天我一直在谷歌上搜索,直到我开始工作。