datepicker选择星期几的android

时间:2012-12-20 07:00:36

标签: android

我的应用程序中有日期选择器并且运行良好。但是我需要选择星期几而不是日期(即,如果我选择日期23,我需要像“星期五”那样获取日期而不是数字)。我使用OnDateSetListener进行点击活动。

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

               }
       }

我需要在字符串中使用日期(例如周一(或)星期二...)以上代码中的selectedDay

4 个答案:

答案 0 :(得分:8)

使用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);
    }
}

答案 1 :(得分:1)

这将给你一天名字::

SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
            Date d_name = new Date();
            String dayOfTheWeek = sdf.format(d_name);

答案 2 :(得分:1)

不要使用:

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

它已被弃用,在某些情况下会输出错误的输出。查看28-jan-2015和04-jul-1940,两者都是星期四,但它将于周五返回04-jul-1940。

使用:

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

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

上述方法将返回一个整数值:

  • 1 - 星期一
  • 2 - 星期二
  • ...
  • 7 - 星期天

答案 3 :(得分:0)

使用这个


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

您可以使用 switch case 来获取星期几。