0

その中に名前の日の文字列があります。その文字列でそれを確認したいだけです。これは次の日です。たとえば、文字列に「Sun,Mon,Tue,Fri,Sat」が含まれており、今日が水曜日の場合は fri のみが返されます。これを行う方法を知っている人はいますか?現時点では、私はこのことをやっていますが、日曜日はすでに過ぎていますが、太陽も戻っているようです.

        static String[] strDays = new String[] { "Sun", "Mon", "Tue", "Wed", "Thu",
        "Fri", "Sat" };

    String nexday="sun,mon,tue,fri,sat";     
    String nexdayone[] = nexday.split(",");
    Calendar now = Calendar.getInstance();
    Calendar futurecal = Calendar.getInstance();
    for (int i = 0; i < nexdayone.length; i++) {
        for (int j = 0; j < 7; j++) {
            if (strDays[j].equalsIgnoreCase(nexdayone[i])) {

                futurecal.set(Calendar.DAY_OF_WEEK, j);
                if (futurecal.after(now)) {
                    Log.d(now.get(Calendar.DAY_OF_WEEK)+" --after-- "+j,""+strDays[j]);
                    break;
                }
            }
        }
    }
4

4 に答える 4

3

では、文字列内の listet である今日から始まる次の平日を見つけたいですか?

1 週間を表すハッシュを実行し、常に「false」のハッシュ値を指します。

Sun->false
Mon->false
Tue->false
Wed->false
Thu->false
Fri->false
Sat->false

いいえ、文字列を分解すると、その文字列内のすべての出現をハッシュで true に設定できます。あなたの例では、これは

Sun->true
Mon->true
Tue->true
Wed->false
Thu->false
Fri->true
Sat->true

これで、現在の平日 (カレンダー) から開始して、「true」のハッシュ値が得られるまでハッシュをたどることができます。真実を伝える鍵は、あなたが探していたあなたの平日です!

于 2012-11-21T10:46:22.247 に答える
1

Joda Timeをお試しください。Java の日付/時刻計算用の優れたライブラリです。

Java で解析Stringするには、 SimpleDateFormat (メソッド) を使用します。Dateparse

于 2012-11-21T10:39:09.323 に答える
-1
Try this.

 public static void main(String a[]){
 String days [] = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
    Date d = new Date();
    SimpleDateFormat  st = new SimpleDateFormat ("EEEEE");
    String day = st.format(d);
    for(int i=0;i<days.length;i++){
        if(days[i].equals(day)){
            System.out.println(days[i+2]);
            break;
        }
    }
}
于 2012-11-21T10:49:13.853 に答える