我的应用程序中有日期选择器并且运行良好。但是我需要选择星期几而不是日期(即,如果我选择日期23,我需要像“星期五”那样获取日期而不是数字)。我使用OnDateSetListener
进行点击活动。
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener()
{
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay)
{
}
}
我需要在字符串中使用日期(例如周一(或)星期二...)以上代码中的selectedDay
答案 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);
上述方法将返回一个整数值:
答案 3 :(得分:0)
使用这个
GregorianCalendar gregorianCalendar = new GregorianCalendar(year, month,dayOfMonth-1);
int week_number=gregorianCalendar.get(Calendar.DAY_OF_WEEK);
您可以使用 switch case 来获取星期几。