如何在Toast中显示日期

时间:2016-05-05 10:57:15

标签: android date toast

我不知道它返回的月份下面的代码有什么问题。

例如:当我点击2016年6月26日时,它显示为2016年6月26日

calendar = (CalendarView) findViewById(R.id.calendar);
calendar.setOnDateChangeListener(new OnDateChangeListener() {
   @Override public void onSelectedDayChange(
      CalendarView view,
      int          year,
      int          month,
      int          dayOfMonth ) {
         Toast.makeText(getApplicationContext(),
            ""+dayOfMonth+ " / " + month + " / " + year, 0).show();
   }
});

4 个答案:

答案 0 :(得分:1)

试试这个:

月份是基于零的值,表示1月份为0,依此类推。您必须在月份值中添加1。

Toast.makeText(getApplicationContext(), ""+dayOfMonth+ " / " + (month+1) + " / " + year, 0).show();

答案 1 :(得分:0)

Calendar.MONTH返回从零开始的月份,这就是为什么它比实际月份少1,为了获得正确的值而添加1。

String result = String.valueOf(c.get(Calendar.MONTH)+1);
学分:@Manishika

答案 2 :(得分:0)

感谢所有回复。这个编码工作我刚刚初始化一个变量来增加月份

calendar=(CalendarView) findViewById(R.id.calendar);
        calendar.setOnDateChangeListener(new OnDateChangeListener() {

                @Override
                public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
                    int mon=month+1;
                    Toast.makeText(getApplicationContext(), ""+dayOfMonth+ " / " + mon + " / " + year, Toast.LENGTH_SHORT).show();
                }
            });

答案 3 :(得分:-1)

试试这个Toast.makeText(getApplicationContext(), ""+dayOfMonth+ " / " + (month+1) + " / " + year, Toast.LENGTH_SHORT).show();