Java 如何比较当前时间和预定时间
我正在创建一个祈祷时间应用程序。在我的应用程序中,我计算剩余时间(通过比较当前时间)并启动倒计时 我不知道如何计算下一次祈祷的剩余时间?请帮忙 我得到的结果是:“Fajr:5000” 我想要这样的结果: 示例:Fajr时间为04:00:00,系统时间为03:50:00,结果为“Fajr:-00:10:00” 代码:Java 如何比较当前时间和预定时间,java,android,Java,Android,我正在创建一个祈祷时间应用程序。在我的应用程序中,我计算剩余时间(通过比较当前时间)并启动倒计时 我不知道如何计算下一次祈祷的剩余时间?请帮忙 我得到的结果是:“Fajr:5000” 我想要这样的结果: 示例:Fajr时间为04:00:00,系统时间为03:50:00,结果为“Fajr:-00:10:00” 代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getValueShubuh = jamShubuh.getText().toString().trim();
Thread thread = new Thread() {
@Override
public void run() {
try {
while (!isInterrupted()) {
Thread.sleep(1000);
runOnUiThread(new Runnable() {
@Override
public void run() {
long timeDate = System.currentTimeMillis();
SimpleDateFormat prayerTimes = new SimpleDateFormat("HHmmss");
String prayerTime = prayerTimes.format(timeDate);
countdownPrayerTime(prayerTime);
}
});
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
thread.start();
}
private void countdownPrayerTime(String prayerTime) {
String shubuhTime = getValueShubuh.replace(":", "") + "00";
String dzuhurTime = getValueDzuhur.replace(":", "") + "00";
String asharTime = getValueAshar.replace(":", "") + "00";
String maghribTime = getValueMaghrib.replace(":", "") + "00";
String isyaTime = getValueIsya.replace(":", "") + "00";
int countDown = Integer.parseInt(prayerTime) - Integer.parseInt(shubuhTime);
shalatCountdown.setText(("Fajr : " + countDown).replace("-", ""));
}
System.currentTimeMillis()代码>已过时。你把时间当作一根绳子来打发??我建议始终使用java.time
包中的新类,并使用Instant now=Instant.now()
然后将其与另一个瞬间进行比较。你告诉我们你想要的结果,但是你现在的结果是什么?您试图解决什么问题?为什么不起作用?@parser如果我使用LocalTime,它也需要最少的APIhigh@topher217我已经编辑了我的问题,谢谢,所以你告诉我们你得到了什么,而不是你试图解决问题的方法。为什么你认为你现在的成绩是5000?(即,如果您对自己的代码理解不足,无法回答此问题,那么其他人将很难理解,更不用说帮助回答了)。