早上好,伙计们
( 1)我试着比较两种时间选择器,但效果不太好。它总是给予同样的选择
int firstHouer =fromTimePicker.getCurrentHour();
int firstdMinute =fromTimePicker.getCurrentMinute();
int seccoundHouer = fromTimePicker.getCurrentHour();
int seccoundMinute =fromTimePicker.getCurrentMinute();
if (firstHouer + firstdMinute < seccoundHouer + seccoundMinute)
{
Toast toast = Toast.makeText(getApplicationContext(), "B" , Toast.LENGTH_LONG);
toast.show();
}
else
{
Toast toast = Toast.makeText(getApplicationContext(), "A" , Toast.LENGTH_LONG);
toast.show();
}2)当我用":“符号时,我还有另一个问题,就是文本改变了它的方向
发布于 2018-08-10 05:30:12
如果要比较相对24小时的时间,则应将“小时”和“分钟”组件转换为同一单位,然后进行比较。例如,要比较这两种使用分钟:
int firstHouer = fromTimePicker.getHour(); // getCurrentHour() is deprecated
int firstdMinute = fromTimePicker.getMinute(); // getCurrentMinute() is deprecated
int seccoundHouer = toTimePicker.getHour(); // or whatever it is called
int seccoundMinute = toTimePicker.getMinute(); // or whatever it is called
if (60*firstHouer + firstdMinute < 60*seccoundHouer + seccoundMinute) {
Toast toast = Toast.makeText(getApplicationContext(), "B" , Toast.LENGTH_LONG);
toast.show();
}
else {
Toast toast = Toast.makeText(getApplicationContext(), "A" , Toast.LENGTH_LONG);
toast.show();
}编辑:正如@Dennis刚才指出的,您的代码中也有一个错误,您在两组时间都使用相同的TimePicker,这可能不是您想要的。
发布于 2018-08-10 05:34:04
你们两次决定对方的时间和时间。
执行速度如此之快(即使是速度较慢的机器),因此值几乎不会有任何不同,只有在一分钟(或一小时)的切换下(或小时,但在这种情况下,由于Tim在回答中描述的问题),其他值也将被触发。
如果您经常尝试您的代码,那么您迟早会遇到这样的情况:在同一小时内,第一分钟的次数与第二次的分钟数是不一样的,而且比第二次分钟的时间更低。然后,您将进入then部分。
https://stackoverflow.com/questions/51779527
复制相似问题