Android CalendarView: How do I get the date in correct format?

£可爱£侵袭症+ 提交于 2019-12-31 04:06:44

问题


The past few days I've been searching for ways to get a 'readable' date out of my calendarview from android 4.0. I can't manage to find a solution or example that suits my problem. I did get it in miliseconds but not in a date format.

My problem is: I have a calendarview and I want the selected date by the user, shown in logcat in a dateformat yy-mm-dd.

I was used to the datepicker from android 2.2 and I'm not familiar with calendarview and can't find much about it either. Does anyone know a solution for this?


回答1:


Okay so here is how to do this. When you fire your calendarview activity or a calendarview inside your activity it sets the date to the current date(meaning today). To get this current date just use the Calendar object provided by the java api to get this date example below:

Calendar date = Calendar.getInstance();
// for your date format use
SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd");
// set a string to format your current date
String curDate = sdf.format(date.getTime());
// print the date in your log cat
Log.d("CUR_DATE", curDate);

to get a date changed you must do this

CalendarView myCalendar = (CalendarView) findViewById(R.id.myCalenderid);

myCalendar.setOnDateChangeListener(myCalendarListener);

OnDateChangeListener myCalendarListener = new OnDateChangeListener(){

public void onSelectedDayChange(CalendarView view, int year, int month, int day){

   // add one because month starts at 0
   month = month + 1;
   // output to log cat **not sure how to format year to two places here**
   String newDate = year+"-"+month+"-"+day;
   Log.d("NEW_DATE", newDate);
}
}



回答2:


You should use SimpleDateFormat

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String selectedDate = sdf.format(new Date(calendar.getDate()));



回答3:


long date = calenderView.getDate();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(date);
int Year = calendar.get(Calendar.YEAR);
int Month = calendar.get(Calendar.MONTH);
int Day = calendar.get(Calendar.DAY_OF_MONTH);
//customize According to Your requirement
String finalDate=Year+"/"+Month+"/"+Day;


来源:https://stackoverflow.com/questions/12121214/android-calendarview-how-do-i-get-the-date-in-correct-format

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!