当我的currentTime介于两次之间时,我正在尝试进行单击操作,但它不起作用。标签没有给我任何东西,但是当我只放一个条件时它完美无缺。我做错了吗?
@Override
public void onClick(final View view) {
LocalTime current = LocalTime.now();
LocalTime LeaveTime = LocalTime.parse("15:00");//hh:mm:ss
LocalTime SchoolTime = LocalTime.parse("08:00");//hh:mm:ss
DateTimeFormatter timeFormatter1 = DateTimeFormatter
.ofPattern("HH:mm");
LocalTime currentTime= LocalTime.parse(current.format(timeFormatter1));
if ( currentTime.isAfter(LeaveTime) && (currentTime.isBefore(SchoolTime)) ) {
Log.v("tagg","ok");
switch (view.getId()) {
case R.id.food:
sendSMS(num, "J'ai faim, " + prenomEnfant + " " + nomEnfant);
if (ContextCompat.checkSelfPermission(CategoriesActivity.this,
Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_DENIED) {
requestStoragePermission();
}
if (ContextCompat.checkSelfPermission(CategoriesActivity.this,
Manifest.permission.SEND_SMS) == PackageManager.PERMISSION_DENIED) {
RequestStoragePermission();
}
break;
case R.id.ache:
sendSMS(num, "J'ai des douleurs, " + prenomEnfant + " " + nomEnfant);
if (ContextCompat.checkSelfPermission(CategoriesActivity.this,
Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_DENIED) {
requestStoragePermission();
}
if (ContextCompat.checkSelfPermission(CategoriesActivity.this,
Manifest.permission.SEND_SMS) == PackageManager.PERMISSION_DENIED) {
RequestStoragePermission();
}
break;
default:
break;
}
}
}
发布于 2019-05-23 11:06:06
您的时间LeaveTime
是15:00,而您的时间SchoolTime
是8:00,没有任何额外的日/月信息,时间永远不会在LeaveTime
之前和之后SchoolTime
,这就是为什么它从未被调用过。我不完全确定你的意图是什么,但我猜你可能需要切换schoolTime
并处理leaveTime
你的状况所以它是
if ( currentTime.isAfter(SchoolTime) && (currentTime.isBefore(LeaveTime)) ) {
检查当前时间是否在学校时间内。
或者您可能正在尝试检查当前时间是否不在学校时间内,在这种情况下,请使用or
运算符代替and
,如下所示:
if ( currentTime.isAfter(LeaveTime) || (currentTime.isBefore(SchoolTime)) ) {
https://stackoverflow.com/questions/-100006791
复制相似问题