簡體   English   中英

檢查小時 Android 並做一些事情 Java

[英]Check Hour Android and do something Java

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

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

提前致謝。

你可以這樣做:

  1. 現代java.time API
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 很麻煩,容易出錯並且通常不鼓勵使用,它就是那么糟糕。 我建議研究如何進行 脫糖

要在低 Android 版本中輕松使用java.time ,您可以使用

1.三十ABP

將其放入您的build.gradle中:

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

然后在您的申請 class 中:

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

就這些,現在正常使用java.time

2.或者,按照他們的 github README 的建議,使用新的脫糖庫

如果其他解決方案不適合您。 你可以試試這個

import java.util.Calendar;
import java.util.Date;

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

使用這個 function,如果你想在之后使用日期,你可以擴展它:

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();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM