Java 时间集上的时间选择器错误
我的应用程序中有一个日期和时间选择器,我刚刚注意到时间错了。时间选择器显示的当前时间为i小时延迟,其am/pm错误,例如,当前时间为Java 时间集上的时间选择器错误,java,android,time,timepicker,Java,Android,Time,Timepicker,我的应用程序中有一个日期和时间选择器,我刚刚注意到时间错了。时间选择器显示的当前时间为i小时延迟,其am/pm错误,例如,当前时间为2:55 pm它将显示1:55 am这里的问题似乎是代码 更新:日期和时间选择器 @Override public void onClick(View v) { if (v == btnCalendar) { // Process to get Current Date final Calendar c = Calenda
2:55 pm
它将显示1:55 am
这里的问题似乎是代码
更新:日期和时间选择器
@Override
public void onClick(View v) {
if (v == btnCalendar) {
// Process to get Current Date
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DATE)+1;
// Launch Date Picker Dialog
DatePickerDialog dpd = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
// Display Selected date in textbox
txtDate.setText(dayOfMonth + "-"
+ (monthOfYear + 1) + "-" + year);
}
}, mYear, mMonth, mDay);
dpd.show();
}
if (v == btnTimePicker) {
// Process to get Current Time
final Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR)+1;
mMinute = c.get(Calendar.MINUTE);
// Launch Time Picker Dialog
TimePickerDialog tpd = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
// Display Selected time in textbox
txtTime.setText(hourOfDay + ":" + minute);
}
}, mHour, mMinute, false);
tpd.show();
}
}
}
更新:
我所做的是把+1放在mHour=c.get(Calendar.HOUR\u OF_DAY)+1代码>这个方法可能会有问题,有什么想法吗
未修复的是AM/PM按钮错误,它总是在启动时显示AM
更新:AM/PM根本不以AM开头是错误的,因为现在是早上,它显示PM,但在下午,它显示AM
更新:
日期也有问题。我所做的是在mDay=c.get(Calendar.date)+1中加上+1代码>这种方法可能会有问题,有什么想法吗?实际上,这是一个bug。谷歌已经收到了报告。你可以在这里找到它
及
您可以尝试以下方法:
<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/datePicker1"
android:layout_centerHorizontal="true"
android:layout_margin="20dp" />
TimePicker tp = (TimePicker)findViewById(R.id.timePicker);
btn.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
int Hour = tp.getCurrentHour();
int Minute = tp.getCurrentMinute();
txtTime.setText(String.valueOf(Hour) + ":" + String.valueOf(Minute));
}
});
TimePicker tp=(TimePicker)findviewbyd(R.id.TimePicker);
btn.setOnClickListener(新的OnClickListener()
{
@凌驾
公共void onClick(视图v)
{
//TODO自动生成的方法存根
int Hour=tp.getCurrentHour();
int Minute=tp.getCurrentMinute();
setText(String.valueOf(Hour)+:“+String.valueOf(Minute));
}
});
我试过了,但仍然延迟了1个小时,而且am/pm和上面的教程一样都是错误的。伙计,它肯定能工作。这是我项目的源代码。伙计,你能把整个东西都放进去吗?也许我放错了什么东西。当我点击时,我仍然得到一个迟到1小时的时间,而且AM/PM是错误的。只需制作一个新的演示项目,并把我的代码放进去。然后比较一下。刚刚试过,但仍然有1个小时的延迟,就像现在是10:07,但显示的是9:07。我认为我做错了什么。谢谢你为我节省了很多时间。