5

アプリケーションに日付ピッカーがあり、それはうまく機能します。しかし、日付の代わりに曜日を選択する必要があります(つまり、日付23を選択した場合、数字の代わりに「金曜日」のような日を取得する必要があります)。OnDateSetListenerクリックイベントに使用しました。

    private DatePickerDialog.OnDateSetListener datePickerListener = new         DatePickerDialog.OnDateSetListener() 
{       
    public void onDateSet(DatePicker view, int selectedYear,
        int selectedMonth, int selectedDay) 
    {   

               }
       }

selectedDay上記のコードでは、文字列(monday(または)tuesday ..など)の日が必要です

4

4 に答える 4

11

以下を使用して曜日を取得するようにコードを変更しますSimpleDateFormat

private DatePickerDialog.OnDateSetListener 
     datePickerListener = new  DatePickerDialog.OnDateSetListener() 
{       
    public void onDateSet(DatePicker view, int selectedYear,
        int selectedMonth, int selectedDay) 
    {   
      SimpleDateFormat simpledateformat = new SimpleDateFormat("EEEE");
      Date date = new Date(selectedYear, selectedMonth, selectedDay-1);
      String dayOfWeek = simpledateformat.format(date);
    }
}
于 2012-12-20T07:05:45.673 に答える
1

これにより、曜日の名前がわかります::

SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
            Date d_name = new Date();
            String dayOfTheWeek = sdf.format(d_name);
于 2012-12-20T07:31:55.740 に答える
1

使用しないでください:

Date date = new Date(selectedYear, selectedMonth, selectedDay-1);

これは非推奨であり、場合によっては間違った出力を提供します。2015年1月28日と1940年7月4日を確認してください。どちらも木曜日ですが、1940年7月4日は金曜日に返されます。

使用する:

GregorianCalendar GregorianCalendar = new GregorianCalendar(year, monthOfYear, dayOfMonth-1);

int dayOfWeek=date.get(date.DAY_OF_WEEK); 

上記のメソッドは整数値を返します:

  • 1-月曜日
  • 2-火曜日
  • ..。
  • 7-日曜日
于 2016-01-28T14:46:18.527 に答える
1

これを使って


GregorianCalendar gregorianCalendar = new GregorianCalendar(year, month,dayOfMonth-1);
int week_number=gregorianCalendar.get(Calendar.DAY_OF_WEEK);

スイッチケースを使用して、平日を単語で取得できます。

于 2021-05-24T09:03:12.160 に答える