查看Hour Android并用Java做一些事情



早上好,我想知道如何在android中做这样的事情。

if(6PM are already passed){
//do somethin
}else{
//somethin else
}

提前谢谢。

您可以这样做:

  1. 现代java.timeAPI
LocalTime now = LocalTime.now(ZoneId.of("required timezone"));
if (now.getHour() >= 18) {
//do something
} else {
//do something else
}
  1. 传统日历
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Europe/Rome"));
int hour = calendar.get(Calendar.HOUR_OF_DAY);

请记住,使用传统的API是麻烦的,容易出错,而且通常不鼓励,它就是那么糟糕。我建议你研究一下如何减额。

要在低安卓版本中轻松使用java.time,可以使用

1.ThreeTenABP

将此放入您的build.gradle:

implementation 'com.jakewharton.threetenabp:threetenabp:1.4.1'

然后在应用程序类中:

@Override
public void onCreate() {
super.onCreate();
AndroidThreeTen.init(this);
}

仅此而已,现在正常使用java.time

2。或者,正如他们的github自述所建议的,使用新的降级库

使用此函数,如果您想在之后使用日期来扩展它

public static void checkTimings() {
String pattern = "HH:mm";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
Date date1 = sdf.parse(Calendar.getInstance().get(Calendar.HOUR_OF_DAY) + ":" + Calendar.getInstance().get(Calendar.MINUTE));
Date date2 = sdf.parse("18:00");
if (date1.before(date2)){
//before 6pm
} else {
//after 6pm
}
} catch (ParseException e) {
e.printStackTrace();
}
}

如果其他解决方案不适合您。你可以试试这个

import java.util.Calendar;
import java.util.Date;
Date currentTime = Calendar.getInstance().getTime();
if(currentTime.getHours() >= 18){
// Above 6pm
} else {
// Below 6pm
}

相关内容

  • 没有找到相关文章

最新更新