3

過去数日間、Android 4.0 からカレンダービューから「読み取り可能な」日付を取得する方法を探していました。私の問題に合った解決策や例を見つけることができません。ミリ秒単位で取得しましたが、日付形式では取得しませんでした。

私の問題は次のとおりです。カレンダービューがあり、ユーザーが選択した日付が必要で、logcat に日付形式 yy-mm-dd で表示されます。

私はAndroid 2.2の日付ピッカーに慣れていましたが、カレンダービューに慣れておらず、それについてもあまり見つけることができません。誰かがこれに対する解決策を知っていますか?

4

4 に答える 4

6

さて、これを行う方法は次のとおりです。calendarview アクティビティまたはアクティビティ内の calendarview を起動すると、日付が現在の日付 (つまり今日) に設定されます。この現在の日付を取得するにCalendarは、Java API によって提供されるオブジェクトを使用して、以下の日付の例を取得します。

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);

日付を変更するには、これを行う必要があります

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);
}
}
于 2012-10-11T16:47:38.337 に答える
1

SimpleDateFormatを使用する必要があります

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String selectedDate = sdf.format(new Date(calendar.getDate()));
于 2018-08-09T09:12:52.173 に答える