gpt4 book ai didi

java - 以 DD/MM/YYYY 格式设置日期格式,以便在日历选择器 View 中选择多个日期 (Android)

转载 作者:行者123 更新时间:2023-12-01 11:04:41 24 4
gpt4 key购买 nike

我有一个日历选择器,可以选择多个日期。下面有按钮可以显示我选择的日期。但是我得到的日期格式为[MON OCT 12 00:00:00 GMT +530,FRI OCT 16 00:00:00 GMT+05:30 2015,SAT OCT 17 00:00:00 GMT+05:30 2015]。但我的要求是获取以下格式的日期2015年12月10日、2015年10月16日、2015年10月17日。我怎样才能实现同样的目标?提前致谢。下面是我使用的代码

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
final View rootView2 = inflater.inflate(R.layout.monthly_planner, container, false);
Calendar nextYear=Calendar.getInstance();
nextYear.add(Calendar.YEAR, 1);
calendar=(CalendarPickerView) rootView2.findViewById(R.id.calendar_view);
Date today=new Date();
calendar.init(today,nextYear.getTime()).withSelectedDate(today).inMode(CalendarPickerView.SelectionMode.MULTIPLE);
// calendar.highlightDates(getHolidays());
dropdown=(Spinner) rootView2.findViewById(R.id.monthly_planner_spinner);
String[] items1 = new String[]{"Select Something"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item, items1);
dropdown.setAdapter(adapter);
button= (Button) rootView2.findViewById(R.id.action_next);
Button button1=(Button) rootView2.findViewById(R.id.btnconfirm);
datesSelected = (TextView) rootView2.findViewById(R.id.dateView);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(getActivity(), Order_ConfirmationActivity.class));
}
});
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
ArrayList<Date>selectedDates=(ArrayList<Date>)calendar
.getSelectedDates();
// Toast.makeText(getActivity(), selectedDates.toString(),
// Toast.LENGTH_LONG).show();
String dates=selectedDates.toString();
SimpleDateFormat df=new SimpleDateFormat("dd/mm/yyyy");
for (int i=0;i<dates.length();i++)
{
date[i] = df.format(dates);
}
for (int i=0;i<date.length;i++){
datesSelected.setText(date[i]);
}
}
});
return rootView2;
}

最佳答案

您需要对日期对象应用格式设置,而不是字符串对象,如下所示:

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date date = Calendar.getInstance().getTime();
System.out.println(sdf.format(date)); // 12/10/2015

因此,在您的情况下,您在 selectedDates 中有日期数组列表,您需要格式化此数组列表中的日期对象。请注意格式:dd/MM/yyyy(大写 M)。有关更多格式,请检查 SimpleDateFormat javadoc 中的日期和时间模式

[更新]我猜您正在使用 CalendarPickerView 允许选择多个日期,您通过 calendar.getSelectedDates() 检索这些日期,然后尝试在中显示多个日期datesSelected (TextView)。您可以尝试以下方法:

ArrayList<Date>selectedDates = (ArrayList<Date>)calendar.getSelectedDates();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
for(int i = 0; i< selectedDates.size(); i++)
{
Date tempDate = selectedDates.get(i);
String formattedDate = sdf.format(tempDate);
datesSelected.append(formattedDate);
//Following if is added to avoid adding comma after the last date.
if(i != selectedDates.size() -1)
{
datesSelected.append(",");
}

}

关于java - 以 DD/MM/YYYY 格式设置日期格式,以便在日历选择器 View 中选择多个日期 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33073513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com