gpt4 book ai didi

java - 测试当前时间两个值是否匹配?

转载 作者:行者123 更新时间:2023-11-30 01:42:09 24 4
gpt4 key购买 nike

我想测试当前时间。两次的结果一样吗?

-有了注释,我已经完成了工作输入开始时间的函数以及结束的时间。

现在我想完成特殊功能。我正在两次之间测试这个输入值。

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

int hourStart = 5;
int minuteStart = 30;
String PMAMStart="AM";
int hourEnd = 6;
int minuteEnd = 30;
String PMAMEnd="AM";

boolean checkTime= checkCurrentTimeBetweenTowVlue(hourStart,minuteStart,PMAMStart,hourEnd,minuteEnd,PMAMEnd);

}


private boolean checkCurrentTimeBetweenTowVlue(int hStart,int mStart,String ampmStart,int hEnd,int mEnd,String ampmEnd){

Calendar cal = Calendar.getInstance();

return false;
}


}

最佳答案

根据您的情况,您可以为开始日期和结束日期设置单独的日历字段,例如 AM_PM、小时和分钟,将时间转换为分钟,然后找出时间之间的差异。解决办法如下:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

int hourStart = 5;
int minuteStart = 30;
String PMAMStart="AM";
int hourEnd = 6;
int minuteEnd = 30;
String PMAMEnd="AM";

boolean checkTime= checkCurrentTimeBetweenTwoValues(hourStart,minuteStart,PMAMStart,hourEnd,minuteEnd,PMAMEnd);

if (checkTime) {
System.out.println("Time is Same");
} else {
System.out.println("Time is not Same");
}

}

private boolean checkCurrentTimeBetweenTwoValues(int hStart,int mStart,String ampmStart,int hEnd,int mEnd,String ampmEnd){

Calendar startCalendar = Calendar.getInstance();
Calendar endCalendar = Calendar.getInstance();

if (ampmStart.equalsIgnoreCase("AM")) {
startCalendar.set(Calendar.AM_PM, 0);
} else {
startCalendar.set(Calendar.AM_PM, 1);
}

startCalendar.setTimeZone(TimeZone.getDefault());
startCalendar.set(Calendar.HOUR, hStart);
startCalendar.set(Calendar.MINUTE, mStart);

if (ampmEnd.equalsIgnoreCase("AM")) {
endCalendar.set(Calendar.AM_PM, 0);
} else {
endCalendar.set(Calendar.AM_PM, 1);
}

endCalendar.setTimeZone(TimeZone.getDefault());
endCalendar.set(Calendar.HOUR, hEnd);
endCalendar.set(Calendar.MINUTE, mEnd);

long timeDifference = TimeUnit.MILLISECONDS.toMinutes(
Math.abs(endCalendar.getTimeInMillis() - startCalendar.getTimeInMillis()));
System.out.println(("Time Difference: " + timeDifference));

return (timeDifference == 0);
}
}

您还可以使用 TimeUnit.MILLISECONDS.toSeconds 来检查秒数,但为此,您需要设置日历实例的秒数组件。

问候,阿杰

关于java - 测试当前时间两个值是否匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59575727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com